Both `cp --reflink` and `bcp` sometimes round the file size up to the next
4k boundary, with the balance consisting of null bytes.  At first glance
this behavior occurs for source file size > 3916 bytes.  I have tried this
with stock btrfs from kernel 2.6.35-rc2 and 2.6.35-rc1 -- specifically,
Ubuntu 2.6.35-2.3~lucid1-server and 2.6.35-1.1~lucid1-server.
Any ideas?

$ rm -f abc; dd if=/dev/urandom of=abc bs=1 count=3917; \
  cp --reflink abc abc.1; ll abc*
3917 bytes (3.9 kB) copied, 0.0380613 s, 103 kB/s
-rw-r----- 1 root root 3917 2010-06-12 04:22 abc
-rw-r----- 1 root root 4096 2010-06-12 04:22 abc.1

$ rm -f abc; dd if=/dev/urandom of=abc bs=1 count=3916; \
  cp --reflink abc abc.1; ll abc*
3916 bytes (3.9 kB) copied, 0.0299729 s, 131 kB/s
-rw-r----- 1 root root 3916 2010-06-12 04:22 abc
-rw-r----- 1 root root 3916 2010-06-12 04:22 abc.1

$ rm -f abc; dd if=/dev/urandom of=abc bs=1 count=4097; \
  cp --reflink abc abc.1; ll abc*
4097 bytes (4.1 kB) copied, 0.0258441 s, 159 kB/s
-rw-r----- 1 root root 4097 2010-06-12 11:08 abc
-rw-r----- 1 root root 8192 2010-06-12 11:08 abc.1

$ uname -a
Linux allie 2.6.35-2-server #3~lucid1-Ubuntu SMP Thu Jun 10 17:52:32 UTC 2010 
x86_64 GNU/Linux

Jim
--
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