2019-02-14 09:35:52

by Kazuo Ito

[permalink] [raw]
Subject: [PATCH v2 0/2] pNFS block/SCSI layouts read-modify-write fix&improvement

This set of patches attempt to fix potential data integrity problem
in nfs_want_read_modify_write() and improve full page overwrite
performance of pNFS block/SCSI layouts.

The patch set comprises of two patches:
- 1/2 "pNFS: Fix potential corruption of page being written"
fixes the integrity issue
- 2/2 "pNFS: Avoid read/modify/write when it is not necessary"
addresses the cases where read/modify/write was requested for a full-
page write.

v1 -> v2:
- added the fix for missing PagePrivate in the pNFS block layout
- made the check for full page write a separate inline function
- merged the duplicated code for the pNFS block/SCSI layouts and
for the other layout + normal NFS
- type usage clean up (int to bool, unsigned to unsigned int)

kazuo ito (2):
pNFS: Fix potential corruption of page being written
pNFS: Avoid read/modify/write when it is not necessary

fs/nfs/file.c | 40 ++++++++++++++++++++++++++--------------
1 file changed, 26 insertions(+), 14 deletions(-)

--
2.20.1



2019-02-21 22:33:35

by Trond Myklebust

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] pNFS block/SCSI layouts read-modify-write fix&improvement

On Thu, 2019-02-14 at 18:34 +0900, Kazuo Ito wrote:
> This set of patches attempt to fix potential data integrity problem
> in nfs_want_read_modify_write() and improve full page overwrite
> performance of pNFS block/SCSI layouts.
>
> The patch set comprises of two patches:
> - 1/2 "pNFS: Fix potential corruption of page being written"
> fixes the integrity issue
> - 2/2 "pNFS: Avoid read/modify/write when it is not necessary"
> addresses the cases where read/modify/write was requested for a
> full-
> page write.
>
> v1 -> v2:
> - added the fix for missing PagePrivate in the pNFS block layout
> - made the check for full page write a separate inline function
> - merged the duplicated code for the pNFS block/SCSI layouts and
> for the other layout + normal NFS
> - type usage clean up (int to bool, unsigned to unsigned int)
>
> kazuo ito (2):
> pNFS: Fix potential corruption of page being written
> pNFS: Avoid read/modify/write when it is not necessary
>
> fs/nfs/file.c | 40 ++++++++++++++++++++++++++--------------
> 1 file changed, 26 insertions(+), 14 deletions(-)
>

These look good so I've applied them to the linux-next branch for the
5.1 merge window,

Thanks!
Trond

--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
[email protected]