NFS: merge _full and _partial write rpc_ops
Decouple nfs_pgio_header and nfs_write_data, and have (possibly multiple) nfs_write_datas each take a refcount on nfs_pgio_header. For the moment keeps nfs_write_header as a way to preallocate a single nfs_write_data with the nfs_pgio_header. The code doesn't need this, and would be prettier without, but given the amount of churn I am already introducing I didn't want to play with tuning new mempools. This also fixes bug in pnfs_ld_handle_write_error. In the case of desc->pg_bsize < PAGE_CACHE_SIZE, the pages list was empty, causing replay attempt to do nothing. Signed-off-by:Fred Isaman <iisaman@netapp.com> Signed-off-by:
Trond Myklebust <Trond.Myklebust@netapp.com>
Showing
- fs/nfs/direct.c 8 additions, 2 deletionsfs/nfs/direct.c
- fs/nfs/internal.h 6 additions, 2 deletionsfs/nfs/internal.h
- fs/nfs/nfs4filelayout.c 0 additions, 1 deletionfs/nfs/nfs4filelayout.c
- fs/nfs/nfs4proc.c 1 addition, 3 deletionsfs/nfs/nfs4proc.c
- fs/nfs/pnfs.c 36 additions, 22 deletionsfs/nfs/pnfs.c
- fs/nfs/write.c 174 additions, 209 deletionsfs/nfs/write.c
- include/linux/nfs_xdr.h 2 additions, 0 deletionsinclude/linux/nfs_xdr.h
Loading
Please register or sign in to comment