Hi!

With BTRFS to XFS/Ext4 the inode number of the target file stays the same in 
with both cp and mv case (/mnt/zeit is a freshly created XFS in this example):

merkaba:~> ls -li foo /mnt/zeit/moo
6609270  foo
     99  /mnt/zeit/moo
merkaba:~> cp foo /mnt/zeit/moo
merkaba:~> ls -li foo /mnt/zeit/moo
6609270 8 foo
     99  /mnt/zeit/moo
merkaba:~> cp -p foo /mnt/zeit/moo  
merkaba:~> ls -li foo /mnt/zeit/moo
6609270 foo
     99 /mnt/zeit/moo
merkaba:~> mv foo /mnt/zeit/moo
merkaba:~> ls -lid /mnt/zeit/moo
99 -rw-r--r-- 1 root root 6 Okt 13 12:28 /mnt/zeit/moo


With BTRFS as target filesystem however in the mv case I get a new inode:

merkaba:~> ls -li foo /home/moo
 6609289 -rw-r--r-- 1 root root 6 Okt 13 12:34 foo
16476276 -rw-r--r-- 1 root root 6 Okt 13 12:34 /home/moo
merkaba:~> cp foo /home/moo
merkaba:~> ls -li foo /home/moo
 6609289 -rw-r--r-- 1 root root 6 Okt 13 12:34 foo
16476276 -rw-r--r-- 1 root root 6 Okt 13 12:34 /home/moo
merkaba:~> cp -p foo /home/moo 
merkaba:~> ls -li foo /home/moo
 6609289 -rw-r--r-- 1 root root 6 Okt 13 12:34 foo
16476276 -rw-r--r-- 1 root root 6 Okt 13 12:34 /home/moo
merkaba:~> mv foo /home/moo
merkaba:~> ls -li /home/moo 
16476280 -rw-r--r-- 1 root root 6 Okt 13 12:34 /home/moo


Is this intentional and/or somehow related to the copy on write specifics of 
the filesystem?

I think even with COW it can just overwrite the existing file instead of 
removing the old one and creating a new one – but it wouldn´t give much of a 
benefit unless the target file is nocow.

(Also I thought only certain other utilities had supercow powers, but well 
BTRFS seems to have them as well :)

Thanks,
-- 
Martin
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to