mbox series

[v2,0/2] pNFS block/SCSI layouts read-modify-write fix&improvement

Message ID 92b9e2a4-8880-3fc6-1f6a-e5ab85ed96e6@lab.ntt.co.jp (mailing list archive)
Headers show
Series pNFS block/SCSI layouts read-modify-write fix&improvement | expand

Message

Kazuo Ito Feb. 14, 2019, 9:34 a.m. UTC
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(-)

Comments

Trond Myklebust Feb. 21, 2019, 10:33 p.m. UTC | #1
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