diff options
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index e1225e6ded2f..6084d6379c03 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -260,6 +260,8 @@ struct cifsTconInfo { | |||
260 | atomic_t num_closes; | 260 | atomic_t num_closes; |
261 | atomic_t num_deletes; | 261 | atomic_t num_deletes; |
262 | atomic_t num_mkdirs; | 262 | atomic_t num_mkdirs; |
263 | atomic_t num_posixopens; | ||
264 | atomic_t num_posixmkdirs; | ||
263 | atomic_t num_rmdirs; | 265 | atomic_t num_rmdirs; |
264 | atomic_t num_renames; | 266 | atomic_t num_renames; |
265 | atomic_t num_t2renames; | 267 | atomic_t num_t2renames; |
@@ -364,13 +366,13 @@ struct cifsInodeInfo { | |||
364 | struct list_head openFileList; | 366 | struct list_head openFileList; |
365 | int write_behind_rc; | 367 | int write_behind_rc; |
366 | __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ | 368 | __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ |
367 | atomic_t inUse; /* num concurrent users (local openers cifs) of file*/ | ||
368 | unsigned long time; /* jiffies of last update/check of inode */ | 369 | unsigned long time; /* jiffies of last update/check of inode */ |
369 | bool clientCanCacheRead:1; /* read oplock */ | 370 | bool clientCanCacheRead:1; /* read oplock */ |
370 | bool clientCanCacheAll:1; /* read and writebehind oplock */ | 371 | bool clientCanCacheAll:1; /* read and writebehind oplock */ |
371 | bool oplockPending:1; | 372 | bool oplockPending:1; |
372 | bool delete_pending:1; /* DELETE_ON_CLOSE is set */ | 373 | bool delete_pending:1; /* DELETE_ON_CLOSE is set */ |
373 | u64 server_eof; /* current file size on server */ | 374 | u64 server_eof; /* current file size on server */ |
375 | u64 uniqueid; /* server inode number */ | ||
374 | struct inode vfs_inode; | 376 | struct inode vfs_inode; |
375 | }; | 377 | }; |
376 | 378 | ||
@@ -472,6 +474,32 @@ struct dfs_info3_param { | |||
472 | char *node_name; | 474 | char *node_name; |
473 | }; | 475 | }; |
474 | 476 | ||
477 | /* | ||
478 | * common struct for holding inode info when searching for or updating an | ||
479 | * inode with new info | ||
480 | */ | ||
481 | |||
482 | #define CIFS_FATTR_DFS_REFERRAL 0x1 | ||
483 | #define CIFS_FATTR_DELETE_PENDING 0x2 | ||
484 | #define CIFS_FATTR_NEED_REVAL 0x4 | ||
485 | |||
486 | struct cifs_fattr { | ||
487 | u32 cf_flags; | ||
488 | u32 cf_cifsattrs; | ||
489 | u64 cf_uniqueid; | ||
490 | u64 cf_eof; | ||
491 | u64 cf_bytes; | ||
492 | uid_t cf_uid; | ||
493 | gid_t cf_gid; | ||
494 | umode_t cf_mode; | ||
495 | dev_t cf_rdev; | ||
496 | unsigned int cf_nlink; | ||
497 | unsigned int cf_dtype; | ||
498 | struct timespec cf_atime; | ||
499 | struct timespec cf_mtime; | ||
500 | struct timespec cf_ctime; | ||
501 | }; | ||
502 | |||
475 | static inline void free_dfs_info_param(struct dfs_info3_param *param) | 503 | static inline void free_dfs_info_param(struct dfs_info3_param *param) |
476 | { | 504 | { |
477 | if (param) { | 505 | if (param) { |