Hi all, I'm hitting a problem cloning inline extents that I haven't had much success tracking down. It's simple enough to reproduce: echo 1111111111111111111111111111 > src echo 2 > dst clone_range src 0 29 dst 0 cmp src dst # fails! dst is size 29 but contains "2\n\0\0\0\0..." where clone_range comes from http://ceph.newdream.net/git/?p=ceph.git;a=blob;f=qa/btrfs/clone_range.c;h=0a88e16013104c27aa87e7cd0d75e4d292419a19;hb=HEAD The file size is adjusted for the target, and debug-tree shows an inline data extent of length 29, but it has the old data in it. I'm not sure why ret = btrfs_insert_empty_item(trans, root, path, &new_key, size); BUG_ON(ret); [...] leaf = path->nodes[0]; slot = path->slots[0]; write_extent_buffer(leaf, buf, btrfs_item_ptr_offset(leaf, slot), size); inode_add_bytes(inode, datal); is working when cloning to a new file but not over an existing one. Hopefully this is something silly I'm missing... sage -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
