kernel_optimize_test/fs/cifs
Sachin Prabhu 466bd31bbd cifs: Avoid calling unlock_page() twice in cifs_readpage() when using fscache
When reading a single page with cifs_readpage(), we make a call to
fscache_read_or_alloc_page() which once done, asynchronously calls
the completion function cifs_readpage_from_fscache_complete(). This
completion function unlocks the page once it has been populated from
cache. The module then attempts to unlock the page a second time in
cifs_readpage() which leads to warning messages.

In case of a successful call to fscache_read_or_alloc_page() we should skip
the second unlock_page() since this will be called by the
cifs_readpage_from_fscache_complete() once the page has been populated by
fscache.

With the modifications to cifs_readpage_worker(), we will need to re-grab the
page lock in cifs_write_begin().

The problem was first noticed when testing new fscache patches for cifs.
https://bugzilla.redhat.com/show_bug.cgi?id=1005737

Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
2013-09-13 16:24:49 -05:00
..
asn1.c
cache.c
cifs_debug.c cifs: try to handle the MUST SecurityFlags sanely 2013-06-26 17:31:55 -05:00
cifs_debug.h
cifs_dfs_ref.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
cifs_fs_sb.h
cifs_spnego.c
cifs_spnego.h
cifs_unicode.c
cifs_unicode.h cifs: add new case-insensitive conversion routines that are based on wchar_t's 2013-09-08 14:38:05 -05:00
cifs_uniupr.h
cifsacl.c
cifsacl.h
cifsencrypt.c cifs: fix bad error handling in crypto code 2013-07-31 13:44:59 -05:00
cifsfs.c CIFS: Respect epoch value from create lease context v2 2013-09-09 22:52:18 -05:00
cifsfs.h Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 2013-07-03 14:06:30 -07:00
cifsglob.h CIFS: Respect epoch value from create lease context v2 2013-09-09 22:52:18 -05:00
cifspdu.h CIFS: Implement follow_link for nounix CIFS mounts 2013-09-08 14:27:41 -05:00
cifsproto.h cifs: Start using per session key for smb2/3 for signature generation 2013-09-08 14:47:50 -05:00
cifssmb.c CIFS: Implement follow_link for nounix CIFS mounts 2013-09-08 14:27:41 -05:00
connect.c CIFS: Store lease state itself rather than a mapped oplock value 2013-09-09 22:52:05 -05:00
dir.c cifs: convert case-insensitive dentry ops to use new case conversion routines 2013-09-08 14:38:08 -05:00
dns_resolve.c cifs: fix composing of mount options for DFS referrals 2013-05-24 13:08:31 -05:00
dns_resolve.h
export.c
file.c cifs: Avoid calling unlock_page() twice in cifs_readpage() when using fscache 2013-09-13 16:24:49 -05:00
fscache.c
fscache.h
inode.c Merge branch 'akpm' (patches from Andrew Morton) 2013-09-12 15:44:27 -07:00
ioctl.c
Kconfig [CIFS] SMB3 Signing enablement 2013-06-26 23:45:05 -05:00
link.c CIFS: Implement follow_link for SMB2 2013-09-08 14:27:34 -05:00
Makefile cifs: add new case-insensitive conversion routines that are based on wchar_t's 2013-09-08 14:38:05 -05:00
misc.c CIFS: Replace clientCanCache* bools with an integer 2013-09-08 17:49:17 -05:00
netmisc.c
nterr.c
nterr.h
ntlmssp.h
readdir.c CIFS: Implement follow_link for SMB2 2013-09-08 14:27:34 -05:00
rfc1002pdu.h
sess.c cifs: Add a variable specific to NTLMSSP for key exchange. 2013-09-08 14:47:49 -05:00
smb1ops.c CIFS: Store lease state itself rather than a mapped oplock value 2013-09-09 22:52:05 -05:00
smb2file.c CIFS: Store lease state itself rather than a mapped oplock value 2013-09-09 22:52:05 -05:00
smb2glob.h [CIFS] SMB3 Signing enablement 2013-06-26 23:45:05 -05:00
smb2inode.c CIFS: Implement follow_link for SMB2 2013-09-08 14:27:34 -05:00
smb2maperror.c
smb2misc.c CIFS: Respect epoch value from create lease context v2 2013-09-09 22:52:18 -05:00
smb2ops.c CIFS: Respect epoch value from create lease context v2 2013-09-09 22:52:18 -05:00
smb2pdu.c CIFS: Respect epoch value from create lease context v2 2013-09-09 22:52:18 -05:00
smb2pdu.h CIFS: Add create lease v2 context for SMB3 2013-09-09 22:52:14 -05:00
smb2proto.h CIFS: Store lease state itself rather than a mapped oplock value 2013-09-09 22:52:05 -05:00
smb2status.h
smb2transport.c cifs: Start using per session key for smb2/3 for signature generation 2013-09-08 14:47:50 -05:00
smbencrypt.c
smberr.h
smbfsctl.h Update headers to update various SMB3 ioctl definitions 2013-06-24 01:56:47 -05:00
transport.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
winucase.c [CIFS] quiet sparse compile warning 2013-09-08 14:54:24 -05:00
xattr.c