[PATCH v2 0/4] cifs: cache invalidation fixes when cache=loose

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

 



This is the second posting of this patchset. The end result of this set
should be indentical to the v1 set, but this fixes some problems in the
intermediate changes that would have introduced bugs for someone doing
a bisect.

This patchset fixes up some cache invalidation problems that can occur
when cache=loose. The main point is to ensure that we revalidate the
cache prior to satisfying a read.

At the same time, I added a fix for a potential problem that cropped up
with NFS a while back, and to which CIFS is also vulnerable.

This was originally reported by Tetsuo Handa, and as far as I can tell
this fixes his testcase, assuming that you also ensure that kernel
oplocks are enabled.

Given that we're late in the cycle, I'd like to see these merged for
v3.16 but getting them into -next soon would be good.

Jeff Layton (4):
  cifs: convert booleans in cifsInodeInfo to a flags field
  cifs: new helper function: cifs_revalidate_mapping
  cifs: fix potential races in cifs_revalidate_mapping
  cifs: revalidate mapping prior to satisfying aio_read request

 fs/cifs/cifsfs.c   | 24 ++++++++++++------
 fs/cifs/cifsfs.h   |  2 ++
 fs/cifs/cifsglob.h |  7 +++---
 fs/cifs/file.c     | 16 ++++++------
 fs/cifs/inode.c    | 71 ++++++++++++++++++++++++++++++++++++++++++------------
 5 files changed, 86 insertions(+), 34 deletions(-)

-- 
1.9.0

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




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux