Jonas Bonn wrote:> Hi,
> I am trying the ''seed device'' functionality, trying to
get a read-only
> block-device to act as a seed for multiple other filesystems.
>
> The following sequence works for setting up the first filesystem.
>
> #-------------
>
> #First initialize ''seed device''
> mkfs.btrfs /dev/vdb
> mount /dev/vdb /mnt
> btrfs -S subvol /mnt
> echo hello > /mnt/subvol/xxx
> umount /mnt
>
> #Make block device a "seed device" (read-only)
> btrfstune -S 1 /dev/vdb
>
> #Mount the seed device... it will be mounted read-only.
> mount /dev/vdb /mnt
>
> #Add the writeable block device
> btrfs-vol -a /dev/vdc /mnt
>
> #Now remount the filesystem read-write.
> mount -oremount,rw /mnt
>
> #Now all changes to /mnt should go to /dev/vdc.
>
> #--------------
>
> After this, however, it''s not possible to mount /dev/vdb again in
order
> to set up a second filesystem as seed. I want to do:
>
> mount /dev/vdb /othermnt
> btrfs-vol -a /dev/vdd /othermnt
> mount -oremount,rw /othermnt
>
> So my questions (comments):
>
> i) Is the seed-device _really_ read-only... no metadata updates or
> anything? (i.e. I can have my seed device on read-only media)
yes
> ii) Should it be possible to have a device as a ''seed''
for multiple
> other filesystems.
it''s possible, but only one filesystem can be mounted at a time.
I will add ''mounting multiple filesystems at the same time''
support
later.
> iii) When the seeded filesystem is created, the size of the filesystem
> is the aggregate of all devices, whereas it should be the aggregate size
> of only the ''writable'' devices.
>
Since btrfs mirrors metadata and creates chunk dynamically, how to
compute the size of filesystem isn''t clear. I''m afraid I
can''t answer
this question.
Regards
Yan Zheng
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html