Jian Lin
2009-Nov-23 09:26 UTC
A file cloned with "--reflink" different from the original one?
I installed BtrFS 0.19 and GNU coreutils 8.1 on my Ubuntu 9.10. I tried to clone some files with "--reflink" to make them "copy-on-write". However, I found some of the files cloned have different MD5''s to the original ones. Is BtrFS (or cp with reflink) buggy? Or it is indeed a feature that I used incorrectly? Thanks! root@lj-laptop:/mnt# uname -a Linux lj-laptop 2.6.31-15-generic #50-Ubuntu SMP Tue Nov 10 14:54:29 UTC 2009 i686 GNU/Linux root@lj-laptop:/mnt# cat /proc/filesystems | grep btrfs btrfs root@lj-laptop:/mnt# mount | grep btrfs /dev/sda4 on /mnt type btrfs (rw) root@lj-laptop:/mnt# cp --version cp (GNU coreutils) 8.1 Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Torbjörn Granlund, David MacKenzie, and Jim Meyering. root@lj-laptop:/mnt# cp linjian-test-1-x86 linjian-test-1-x86-ref -R --reflink root@lj-laptop:/mnt# ls -la linjian-test-1-x86/* linjian-test-1-x86-ref/* -rw------- 1 root root 419430400 Oct 10 14:21 linjian-test-1-x86/linjian-test-1-x86.vmdk -rwxr-xr-x 1 root root 1297 Oct 10 14:21 linjian-test-1-x86/linjian-test-1-x86.vmx -rw------- 1 root root 419430400 Nov 23 14:59 linjian-test-1-x86-ref/linjian-test-1-x86.vmdk -rwxr-xr-x 1 root root 1297 Nov 23 14:59 linjian-test-1-x86-ref/linjian-test-1-x86.vmx root@lj-laptop:/mnt# md5sum linjian-test-1-x86/* linjian-test-1-x86-ref/* c34b30f94d220d38e7bfcd2ff6a36f46 linjian-test-1-x86/linjian-test-1-x86.vmdk 64841a05c4112aebec9c25d6d4daecdc linjian-test-1-x86/linjian-test-1-x86.vmx 2eedfae0f1381de1525ab10eae56d032 linjian-test-1-x86-ref/linjian-test-1-x86.vmdk 64841a05c4112aebec9c25d6d4daecdc linjian-test-1-x86-ref/linjian-test-1-x86.vmx root@lj-laptop:/mnt# cd WinXP_CHS/ root@lj-laptop:/mnt/WinXP_CHS# cp WinXP_CHS.vmdk WinXP_CHS-ref.vmdk --reflink root@lj-laptop:/mnt/WinXP_CHS# ls -la WinXP_CHS.vmdk WinXP_CHS-ref.vmdk -rwxr-xr-x 1 root root 1713766400 Nov 23 15:11 WinXP_CHS-ref.vmdk -rwxr-xr-x 1 root root 1713766400 Nov 23 13:32 WinXP_CHS.vmdk root@lj-laptop:/mnt/WinXP_CHS# md5sum WinXP_CHS.vmdk WinXP_CHS-ref.vmdk f6da592d056167a44b089d70fa46f863 WinXP_CHS.vmdk e3ee0c2c17771811c80eed088c20987d WinXP_CHS-ref.vmdk Jian LIN -- 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
Chris Mason
2009-Nov-23 14:40 UTC
Re: A file cloned with "--reflink" different from the original one?
On Mon, Nov 23, 2009 at 05:26:32PM +0800, Jian Lin wrote:> I installed BtrFS 0.19 and GNU coreutils 8.1 on my Ubuntu 9.10. > I tried to clone some files with "--reflink" to make them "copy-on-write". > However, I found some of the files cloned have different MD5''s to the > original ones. > > Is BtrFS (or cp with reflink) buggy? > Or it is indeed a feature that I used incorrectly?There have been some fixes to the reflink code sine 2.6.31, I think you''re hitting a known bug. Please try the btrfs-unstable repo, or a 2.6.32-rc kernel. -chris -- 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