[PATCH v2 00/10] Optimise away unnecessary NFSv4 post-op attributes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following set of patches adds support for simulating 'change attributes'
in NFSv2/v3 by converting the file ctime into a 64-bit value that can
be stored in inode->i_version.
With this change, we can then proceed to simplify the attribute cache
consistency code so that it only uses the change attribute to determine
whether or not the data and attribute caches are consistent.

Once the cache consistency only depends on the change attribute, we
can optimise away unnecessary requests for the directory post-op
attributes on NFSv4 OPEN, CREATE, REMOVE, LINK and RENAME compounds,
since those operations all supply a 'change_info4' field describing
the directory change attribute.

Finally, we can stop requesting cache consistency attributes altogether
for O_DIRECT writes and commits (they are uncached) as well as for
delegated writes and commits.


Trond Myklebust (10):
  NFSv4: Fix a typo in NFS4_enc_link_sz
  NFSv4: Delegreturn only needs the cache consistency bitmask
  NFS: Simplify nfs_fhget()
  NFS: Change attribute updates should set NFS_INO_REVAL_PAGECACHE
  NFSv2/v3: Simulate the change attribute
  NFS: Simplify the cache invalidation code
  NFSv4: Simplify the NFSv4 OPEN compound
  NFSv4: Simplify the NFSv4 CREATE compound
  NFSv4: Simplify the NFSv4 REMOVE, LINK and RENAME compounds
  NFSv4: Don't request cache consistency attributes on some writes and
    commits

 fs/nfs/client.c         |    2 +-
 fs/nfs/inode.c          |   58 ++++++++-------------------------
 fs/nfs/internal.h       |   12 +++++++
 fs/nfs/nfs2xdr.c        |    2 +
 fs/nfs/nfs3xdr.c        |    3 ++
 fs/nfs/nfs4proc.c       |   81 +++++++++++++++++++----------------------------
 fs/nfs/nfs4xdr.c        |   76 ++++----------------------------------------
 include/linux/nfs_xdr.h |   11 ++-----
 8 files changed, 75 insertions(+), 170 deletions(-)

-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux