Re: [PATCH 2/2] btrfs: Set file size correctly in file clone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 19 Nov 2010, Li Zefan wrote:
> Set src_offset = 0, src_length = 20K, dest_offset = 20K. And the
> original filesize of the dest file 'file2' is 30K:
> 
>   # ls -l /mnt/file2
>   -rw-r--r-- 1 root root 30720 Nov 18 16:42 /mnt/file2
> 
> Now clone file1 to file2, the dest file should be 40K, but it
> still shows 30K:
> 
>   # ls -l /mnt/file2
>   -rw-r--r-- 1 root root 30720 Nov 18 16:42 /mnt/file2
> 
> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
> ---
>  fs/btrfs/ioctl.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index 81b47bd..6b4bfa7 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -1873,8 +1873,8 @@ static noinline long btrfs_ioctl_clone(struct file *file, unsigned long srcfd,
>  			 * but shouldn't round up the file size
>  			 */
>  			endoff = new_key.offset + datal;
> -			if (endoff > off+olen)
> -				endoff = off+olen;
> +			if (endoff > destoff+olen)
> +				endoff = destoff+olen;
>  			if (endoff > inode->i_size)
>  				btrfs_i_size_write(inode, endoff);

Reviewed-by: Sage Weil <sage@xxxxxxxxxxxx>
--
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


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux