I have no idea whether this actually works, and it is risky under any
circumstances, however you may want to look at the following. It
won't help you merge the two file systems without substantial work,
since you need to be concerned about overlapping inode numbers, etc.:
http://anyfs-tools.sourceforge.net/
anyfs-tools - toolset for recovering and converting filesystems and
recovering data from a block device.
...
Convert filesystems
anyfs-tools anyfs-tools allows a user to convert filesystems. There
is only one requirement for the existing source filesystem: there
must be FIBMAP system call ioctl(2) support in the filesystem driver
(maybe read-only) for Linux OS.
Currently anyfs-tools supports filesystem conversion to ext2fs/ext3fs
or xfs, but it's hoped that in future there will be other filesystem
building support. For this to happen, there must first be interest
from filesystem maintainers and developers. The advantage of
anyfs-tools is that it is a convenient tool and does not require
much free space for saving of all of the meta-data for files ably
increase the number of users of a particular supported filesystem.
Generally, the steps to convert an existing filesystem are as follows:
1) build_it for reading all informaton about the physical location
of files on a disk and file access permissions, then saving that
information to an external inode table.
2) maybe anyfs driver for clear some space for new filesystem.
3) maybe reblock for changing filesystem blocksize where the
destination filesystem doesn't support the same blocksize as the
source one.
4) Finally, build a filesystem by using build_e2fs or build_xfs.
The whole converting process maybe automated with using the
anyconvertfs script.
Regards,
Bill Rugolsky