From: Zhu Date: Mon, 28 Apr 2008 20:45:11 +0000 (-0400) Subject: Fix btrfs-convert's large file support. X-Git-Tag: upstream/0.20.rc1~270 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fb0a5d3766ac007dc316dd3a9cf737192f80d91f;p=platform%2Fupstream%2Fbtrfs-progs.git Fix btrfs-convert's large file support. This patch add ext2_inode.i_size_high into account when calculating regular file's size in btrfs-convert, which makes it deal with large files bigger than 4GB properly. --- diff --git a/convert.c b/convert.c index 435cafd..80dc3f5 100644 --- a/convert.c +++ b/convert.c @@ -928,6 +928,10 @@ static int copy_inode_item(struct btrfs_inode_item *dst, btrfs_set_stack_inode_size(dst, 0); btrfs_set_stack_inode_nlink(dst, 1); } + if (S_ISREG(src->i_mode)) { + btrfs_set_stack_inode_size(dst, (u64)src->i_size_high << 32 | + (u64)src->i_size); + } if (!S_ISREG(src->i_mode) && !S_ISDIR(src->i_mode) && !S_ISLNK(src->i_mode)) { if (src->i_block[0]) {