Re: [PATCH 34/34] NFS41: do not update isize if inode needs layoutcommit

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

 



reminder: this is a generic patch that should be pushed upstream
separately.

Benny

On 2011-06-12 19:45, Jim Rees wrote:
> From: Peng Tao <bergwolf@xxxxxxxxx>
> 
> Layout commit is supposed to set server file size similiar to nfs pages.
> We should not update client file size for the same reason.
> Otherwise we will lose what we have at hand.
> 
> Signed-off-by: Peng Tao <peng_tao@xxxxxxx>
> ---
>  fs/nfs/inode.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c
> index 144f2a3..3f1eb81 100644
> --- a/fs/nfs/inode.c
> +++ b/fs/nfs/inode.c
> @@ -1294,7 +1294,8 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr)
>  		if (new_isize != cur_isize) {
>  			/* Do we perhaps have any outstanding writes, or has
>  			 * the file grown beyond our last write? */
> -			if (nfsi->npages == 0 || new_isize > cur_isize) {
> +			if ((nfsi->npages == 0 && !test_bit(NFS_INO_LAYOUTCOMMIT, &nfsi->flags)) ||
> +			     new_isize > cur_isize) {
>  				i_size_write(inode, new_isize);
>  				invalid |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_DATA;
>  			}
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" 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 USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux