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]

 



On Tue, Jun 14, 2011 at 12:15 PM, Benny Halevy <bhalevy.lists@xxxxxxxxx> wrote:
> reminder: this is a generic patch that should be pushed upstream
> separately.
>
> Benny
>

And which in fact is currently in Trond's  bugfixes branch

Fred

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