• Peng Tao's avatar
    NFS41: do not update isize if inode needs layoutcommit · 0f66b598
    Peng Tao authored
    nfs_update_inode will update isize if there is no queued pages. For pNFS,
    layoutcommit is supposed to change file size on server, the same effect as queued
    pages. nfs_update_inode may be called when dirty pages are written back (nfsi->npages==0)
    but layoutcommit is not sent, and it will change client file size according to server
    file size. Then client ends up losing what it just writes back in pNFS path.
    So we should skip updating client file size if file needs layoutcommit.
    Signed-off-by: default avatarPeng Tao <peng_tao@emc.com>
    Cc: stable@kernel.org   [2.6.39]
    Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
    0f66b598
inode.c 46 KB