aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsglob.h
diff options
context:
space:
mode:
authorPavel Shilovsky <piastry@etersoft.ru>2011-09-22 09:53:59 +0400
committerSteve French <smfrench@gmail.com>2011-10-13 19:52:47 -0500
commitd59dad2be038132259ac99a2837d65a87fd90588 (patch)
treeba31d82b208981c6779a071217ff762cd3a1777e /fs/cifs/cifsglob.h
parentfe11e4ccb8479d92cd2a101d380d332544b84aaa (diff)
downloadkernel_samsung_smdk4412-d59dad2be038132259ac99a2837d65a87fd90588.zip
kernel_samsung_smdk4412-d59dad2be038132259ac99a2837d65a87fd90588.tar.gz
kernel_samsung_smdk4412-d59dad2be038132259ac99a2837d65a87fd90588.tar.bz2
CIFS: Move byte range lock list from fd to inode
that let us do local lock checks before requesting to the server. Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r--fs/cifs/cifsglob.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 1f265ff..55ebf39 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -494,6 +494,7 @@ struct cifsLockInfo {
__u64 length;
__u32 pid;
__u8 type;
+ __u16 netfid;
};
/*
@@ -526,8 +527,6 @@ struct cifsFileInfo {
struct dentry *dentry;
unsigned int f_flags;
struct tcon_link *tlink;
- struct mutex lock_mutex;
- struct list_head llist; /* list of byte range locks we have. */
bool invalidHandle:1; /* file closed via session abend */
bool oplock_break_cancelled:1;
int count; /* refcount protected by cifs_file_list_lock */
@@ -560,7 +559,9 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file);
*/
struct cifsInodeInfo {
- struct list_head lockList;
+ struct list_head llist; /* brlocks for this inode */
+ bool can_cache_brlcks;
+ struct mutex lock_mutex; /* protect two fields above */
/* BB add in lists for dirty pages i.e. write caching info for oplock */
struct list_head openFileList;
__u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */