]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
nfs41: Correct offset for LAYOUTCOMMIT
authorVitaliy Gusev <gusev.vitaliy@gmail.com>
Thu, 19 May 2011 21:34:46 +0000 (01:34 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Jun 2011 00:32:42 +0000 (09:32 +0900)
commit 4b8ee2b82e8b0b6e17ee33feb74fcdb5c6d8dbdd upstream.

A client sends offset to MDS as it was seen by DS. As result,
file size after copy is only half of original file size in case
of 2 DS.

Signed-off-by: Vitaliy Gusev <gusev.vitaliy@nexenta.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/nfs/pnfs.c

index f57f5281a52090ac8445a3ebb362515708225661..101c85a3644e62ee5e6a5eec0f3cc1d75d8b2ce4 100644 (file)
@@ -1009,7 +1009,7 @@ void
 pnfs_set_layoutcommit(struct nfs_write_data *wdata)
 {
        struct nfs_inode *nfsi = NFS_I(wdata->inode);
-       loff_t end_pos = wdata->args.offset + wdata->res.count;
+       loff_t end_pos = wdata->mds_offset + wdata->res.count;
        bool mark_as_dirty = false;
 
        spin_lock(&nfsi->vfs_inode.i_lock);