diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2011-09-22 09:53:59 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2011-10-13 19:52:47 -0500 |
commit | d59dad2be038132259ac99a2837d65a87fd90588 (patch) | |
tree | ba31d82b208981c6779a071217ff762cd3a1777e /fs/cifs/cifsglob.h | |
parent | fe11e4ccb8479d92cd2a101d380d332544b84aaa (diff) |
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.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 1f265ffe7e6..55ebf39fb3f 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 */ |