Home
last modified time | relevance | path

Searched hist:c7559663 (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/fs/nfs/
H A Dwrite.c263b4509 Fri Jan 17 14:12:05 CST 2014 Scott Mayhew <smayhew@redhat.com> nfs: always make sure page is up-to-date before extending a write to cover the entire page

We should always make sure the cached page is up-to-date when we're
determining whether we can extend a write to cover the full page -- even
if we've received a write delegation from the server.

Commit c7559663 added logic to skip this check if we have a write
delegation, which can lead to data corruption such as the following
scenario if client B receives a write delegation from the NFS server:

Client A:
# echo 123456789 > /mnt/file

Client B:
# echo abcdefghi >> /mnt/file
# cat /mnt/file
0�D0�abcdefghi

Just because we hold a write delegation doesn't mean that we've read in
the entire page contents.

Cc: <stable@vger.kernel.org> # v3.11+
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
c7559663 Fri Jul 05 16:33:19 CDT 2013 Scott Mayhew <smayhew@redhat.com> NFS: Allow nfs_updatepage to extend a write under additional circumstances

Currently nfs_updatepage allows a write to be extended to cover a full
page only if we don't have a byte range lock lock on the file... but if
we have a write delegation on the file or if we have the whole file
locked for writing then we should be allowed to extend the write as
well.

Signed-off-by: Scott Mayhew <smayhew@redhat.com>
[Trond: fix up call to nfs_have_delegation()]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
263b4509 Fri Jan 17 14:12:05 CST 2014 Scott Mayhew <smayhew@redhat.com> nfs: always make sure page is up-to-date before extending a write to cover the entire page

We should always make sure the cached page is up-to-date when we're
determining whether we can extend a write to cover the full page -- even
if we've received a write delegation from the server.

Commit c7559663 added logic to skip this check if we have a write
delegation, which can lead to data corruption such as the following
scenario if client B receives a write delegation from the NFS server:

Client A:
# echo 123456789 > /mnt/file

Client B:
# echo abcdefghi >> /mnt/file
# cat /mnt/file
0�D0�abcdefghi

Just because we hold a write delegation doesn't mean that we've read in
the entire page contents.

Cc: <stable@vger.kernel.org> # v3.11+
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
c7559663 Fri Jul 05 16:33:19 CDT 2013 Scott Mayhew <smayhew@redhat.com> NFS: Allow nfs_updatepage to extend a write under additional circumstances

Currently nfs_updatepage allows a write to be extended to cover a full
page only if we don't have a byte range lock lock on the file... but if
we have a write delegation on the file or if we have the whole file
locked for writing then we should be allowed to extend the write as
well.

Signed-off-by: Scott Mayhew <smayhew@redhat.com>
[Trond: fix up call to nfs_have_delegation()]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>