diff options
Diffstat (limited to 'fs/ocfs2/dlmglue.h')
-rw-r--r-- | fs/ocfs2/dlmglue.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/fs/ocfs2/dlmglue.h b/fs/ocfs2/dlmglue.h index 243ae862ece5..4a2769387229 100644 --- a/fs/ocfs2/dlmglue.h +++ b/fs/ocfs2/dlmglue.h | |||
@@ -27,10 +27,14 @@ | |||
27 | #ifndef DLMGLUE_H | 27 | #ifndef DLMGLUE_H |
28 | #define DLMGLUE_H | 28 | #define DLMGLUE_H |
29 | 29 | ||
30 | #define OCFS2_LVB_VERSION 3 | 30 | #include "dcache.h" |
31 | |||
32 | #define OCFS2_LVB_VERSION 4 | ||
31 | 33 | ||
32 | struct ocfs2_meta_lvb { | 34 | struct ocfs2_meta_lvb { |
33 | __be32 lvb_version; | 35 | __u8 lvb_version; |
36 | __u8 lvb_reserved0; | ||
37 | __be16 lvb_reserved1; | ||
34 | __be32 lvb_iclusters; | 38 | __be32 lvb_iclusters; |
35 | __be32 lvb_iuid; | 39 | __be32 lvb_iuid; |
36 | __be32 lvb_igid; | 40 | __be32 lvb_igid; |
@@ -41,7 +45,8 @@ struct ocfs2_meta_lvb { | |||
41 | __be16 lvb_imode; | 45 | __be16 lvb_imode; |
42 | __be16 lvb_inlink; | 46 | __be16 lvb_inlink; |
43 | __be32 lvb_iattr; | 47 | __be32 lvb_iattr; |
44 | __be32 lvb_reserved[2]; | 48 | __be32 lvb_igeneration; |
49 | __be32 lvb_reserved2; | ||
45 | }; | 50 | }; |
46 | 51 | ||
47 | /* ocfs2_meta_lock_full() and ocfs2_data_lock_full() 'arg_flags' flags */ | 52 | /* ocfs2_meta_lock_full() and ocfs2_data_lock_full() 'arg_flags' flags */ |
@@ -57,9 +62,14 @@ void ocfs2_dlm_shutdown(struct ocfs2_super *osb); | |||
57 | void ocfs2_lock_res_init_once(struct ocfs2_lock_res *res); | 62 | void ocfs2_lock_res_init_once(struct ocfs2_lock_res *res); |
58 | void ocfs2_inode_lock_res_init(struct ocfs2_lock_res *res, | 63 | void ocfs2_inode_lock_res_init(struct ocfs2_lock_res *res, |
59 | enum ocfs2_lock_type type, | 64 | enum ocfs2_lock_type type, |
65 | unsigned int generation, | ||
60 | struct inode *inode); | 66 | struct inode *inode); |
67 | void ocfs2_dentry_lock_res_init(struct ocfs2_dentry_lock *dl, | ||
68 | u64 parent, struct inode *inode); | ||
61 | void ocfs2_lock_res_free(struct ocfs2_lock_res *res); | 69 | void ocfs2_lock_res_free(struct ocfs2_lock_res *res); |
62 | int ocfs2_create_new_inode_locks(struct inode *inode); | 70 | int ocfs2_create_new_inode_locks(struct inode *inode); |
71 | int ocfs2_create_new_lock(struct ocfs2_super *osb, | ||
72 | struct ocfs2_lock_res *lockres, int ex, int local); | ||
63 | int ocfs2_drop_inode_locks(struct inode *inode); | 73 | int ocfs2_drop_inode_locks(struct inode *inode); |
64 | int ocfs2_data_lock_full(struct inode *inode, | 74 | int ocfs2_data_lock_full(struct inode *inode, |
65 | int write, | 75 | int write, |
@@ -93,7 +103,12 @@ void ocfs2_super_unlock(struct ocfs2_super *osb, | |||
93 | int ex); | 103 | int ex); |
94 | int ocfs2_rename_lock(struct ocfs2_super *osb); | 104 | int ocfs2_rename_lock(struct ocfs2_super *osb); |
95 | void ocfs2_rename_unlock(struct ocfs2_super *osb); | 105 | void ocfs2_rename_unlock(struct ocfs2_super *osb); |
106 | int ocfs2_dentry_lock(struct dentry *dentry, int ex); | ||
107 | void ocfs2_dentry_unlock(struct dentry *dentry, int ex); | ||
108 | |||
96 | void ocfs2_mark_lockres_freeing(struct ocfs2_lock_res *lockres); | 109 | void ocfs2_mark_lockres_freeing(struct ocfs2_lock_res *lockres); |
110 | void ocfs2_simple_drop_lockres(struct ocfs2_super *osb, | ||
111 | struct ocfs2_lock_res *lockres); | ||
97 | 112 | ||
98 | /* for the vote thread */ | 113 | /* for the vote thread */ |
99 | void ocfs2_process_blocked_lock(struct ocfs2_super *osb, | 114 | void ocfs2_process_blocked_lock(struct ocfs2_super *osb, |