Bug 823878

Summary: cifs: Simplify cache invalidation
Product: Red Hat Enterprise Linux 6 Reporter: Sachin Prabhu <sprabhu>
Component: kernelAssignee: Sachin Prabhu <sprabhu>
Status: CLOSED ERRATA QA Contact: Jian Li <jiali>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4CC: cifs-maint, jiali, kzhang, nmurray, rwheeler
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kernel-2.6.32-298.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 05:56:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 798385    

Description Sachin Prabhu 2012-05-22 11:18:11 UTC
Backport of the following patches


--
commit 257fb1f15d72f89dad2d72fa467c189f2d7fdd71
Author: Pavel Shilovsky <piastry>
Date:   Wed Mar 16 01:55:32 2011 +0300

CIFS: Use invalidate_inode_pages2 instead of invalidate_remote_inode (try #4)

Use invalidate_inode_pages2 that don't leave pages even if shrink_page_list()
has a temp ref on them. It prevents a data coherency problem when
cifs_invalidate_mapping didn't invalidate pages but the client thinks that a data
from the cache is uptodate according to an oplock level (exclusive or II).

Signed-off-by: Pavel Shilovsky <piastry>
Signed-off-by: Steve French <sfrench.com>
--


--
commit 9ad1506b42c828dff0b9d8f3914e1f837734e91c
Author: Pavel Shilovsky <piastry>
Date:   Fri Apr 8 05:29:10 2011 +0400

CIFS: Add launder_page operation (try #3)

Add this let us drop filemap_write_and_wait from cifs_invalidate_mapping
and simplify the code to properly process invalidate logic.

Reviewed-by: Jeff Layton <jlayton>
Signed-off-by: Pavel Shilovsky <piastry>
Signed-off-by: Steve French <sfrench.com>
--



--
commit 6feb9891da4f8b04ffca69c00eb56bb7c1b64dc4
Author: Pavel Shilovsky <piastry>
Date:   Thu Apr 7 18:18:11 2011 +0400

CIFS: Simplify invalidate part (try #5)

Simplify many places when we call cifs_revalidate/invalidate to make
it do what it exactly needs.

Reviewed-by: Jeff Layton <jlayton>
Signed-off-by: Pavel Shilovsky <piastry>
Signed-off-by: Steve French <sfrench.com>
--

--
commit 156ecb2d8b06589098f6ce3012e6a10fef07c416
Author: Steve French <sfrench.com>
Date:   Fri May 20 17:00:01 2011 +0000

[CIFS] Fix to problem with getattr caused by invalidate simplification patch

Fix to earlier "Simplify invalidate part (try #6)" patch
That patch caused problems with connectathon test 5.

Reviewed-by: Jeff Layton <jlayton>
Signed-off-by: Pavel Shilovsky <piastry>
Signed-off-by: Steve French <sfrench.com>
--

Comment 2 RHEL Program Management 2012-07-27 16:21:06 UTC
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.

Comment 3 Jian Li 2012-08-01 06:15:20 UTC
regression test are needed.

Comment 4 Jarod Wilson 2012-08-16 21:22:17 UTC
Patch(es) available on kernel-2.6.32-298.el6

Comment 7 Jian Li 2013-01-28 10:34:37 UTC
SanityOnly test is done.

Comment 9 errata-xmlrpc 2013-02-21 05:56:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0496.html