CIFS: Fix oplock break handling (try #2)
authorPavel Shilovsky <piastryyy@gmail.com>
Mon, 17 Jan 2011 17:15:44 +0000 (20:15 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 23:14:44 +0000 (15:14 -0800)
commitc4eb47bcb04cbf3661bbc36e64ff12b52f36d05b
tree87e0f0e44ae83e318d8b13948f05cab836916409
parentb770e599b231a81cf53e00beee29261cfc8be46c
CIFS: Fix oplock break handling (try #2)

commit 12fed00de963433128b5366a21a55808fab2f756 upstream.

When we get oplock break notification we should set the appropriate
value of OplockLevel field in oplock break acknowledge according to
the oplock level held by the client in this time. As we only can have
level II oplock or no oplock in the case of oplock break, we should be
aware only about clientCanCacheRead field in cifsInodeInfo structure.

Also fix bug connected with wrong interpretation of OplockLevel field
during oplock break notification processing.

Signed-off-by: Pavel Shilovsky <piastryyy@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/cifs/cifsproto.h
fs/cifs/cifssmb.c
fs/cifs/file.c
fs/cifs/misc.c