Seed-device

From btrfs Wiki
Revision as of 20:47, 14 May 2012 by Ierdnah (Talk | contribs)

Jump to: navigation, search

Seed-device use example

The original filesystem and devices are included as a readonly starting point to the new FS. All modifications go onto different devices and the COW machinery makes sure the original is unchanged.

# dd if=/dev/zero of=/mnt/gentoo/btrfs-test-1 count=2 bs=1G
# dd if=/dev/zero of=/mnt/gentoo/btrfs-test-2 count=2 bs=1G
# losetup /dev/loop0 /mnt/gentoo/btrfs-test-1
# losetup /dev/loop1 /mnt/gentoo/btrfs-test-2
# mkfs.btrfs /dev/loop0
# mount /dev/loop0 /mnt/test/
# echo a > /mnt/test/a
# echo b > /mnt/test/b
# umount /mnt/test

Now we will use this filesystem as a seed device:

# btrfstune -S 1 /dev/loop0
# mount /dev/loop0 /mnt/test
mount: block device /dev/loop0 is write-protected, mounting read-only
# btrfs device add /dev/loop1 /mnt/test
# ls /mnt/test
a  b
# echo c > /mnt/test/c
bash: c: Read-only file system
# mount -o remount,rw /mnt/test
OR
# umount /mnt/test
# mount /dev/loop1 /mnt/test
# echo c > /mnt/test/c
# echo d > /mnt/test/d
# umount /mnt/test
# mount /dev/loop0 /mnt/test
mount: block device /dev/loop0 is write-protected, mounting read-only
# ls /mnt/test
a  b
# umount /mnt/test
# mount /dev/loop1 /mnt/test
# ls /mnt/test
a  b  c  d
# cat /mnt/test/c
c
Personal tools