1. 07 Oct, 2008 3 commits
    • Trond Myklebust's avatar
      NFS: Add options for finer control of the lookup cache · 4eec952e
      Trond Myklebust authored
      Add the flag NFS_MOUNT_LOOKUP_CACHE_NONEG to turn off the caching of
      negative dentries. In reality what we do is to force
      nfs_lookup_revalidate() to always discard negative dentries.
      
      Add the flag NFS_MOUNT_LOOKUP_CACHE_NONE for enforcing stricter
      revalidation of dentries. It forces the revalidate code to always do a
      lookup instead of just checking the cached mtime of the parent directory.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      4eec952e
    • Trond Myklebust's avatar
      NFS: Clean up nfs_sb_active/nfs_sb_deactive · 1daef0a8
      Trond Myklebust authored
      Instead of causing umount requests to block on server->active_wq while the
      asynchronous sillyrename deletes are executing, we can use the sb->s_active
      counter to obtain a reference to the super_block, and then release that
      reference in nfs_async_unlink_release().
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      1daef0a8
    • Trond Myklebust's avatar
      NFS: Fix nfs_file_llseek() · d5e66348
      Trond Myklebust authored
      After the BKL removal patches were applied to the rest of the NFS code, the
      BKL protection in nfs_file_llseek() is no longer sufficient to ensure that
      inode->i_size is read safely in generic_file_llseek_unlocked().
      
      In order to fix the situation, we either have to replace the naked read of
      inode->i_size in generic_file_llseek_unlocked() with i_size_read(), or the
      whole thing needs to be executed under the inode->i_lock;
      In order to avoid disrupting other filesystems, avoid touching
      generic_file_llseek_unlocked() for now...
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      d5e66348
  2. 06 Oct, 2008 13 commits
  3. 05 Oct, 2008 24 commits