aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/incore.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-05-18 16:25:27 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-05-18 16:25:27 -0400
commit320dd101e2d595a03439adb92b319f3af53dd1d0 (patch)
tree56a88401a218622018030045fec009bafdc4ce76 /fs/gfs2/incore.h
parent3a8a9a1034813aa99f5ae3150f652d490c5ff10d (diff)
[GFS2] glock debugging and inode cache changes
This adds some extra debugging to glock.c and changes inode.c's deallocation code to call the debugging code at a suitable moment. I'm chasing down a particular bug to do with deallocation at the moment and the code can go again once the bug is fixed. Also this includes the first part of some changes to unify the Linux struct inode and GFS2's struct gfs2_inode. This transformation will happen in small parts over the next short period. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/incore.h')
-rw-r--r--fs/gfs2/incore.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index fc4a983e3c89..92091d006a02 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -183,6 +183,8 @@ struct gfs2_glock {
183 spinlock_t gl_spin; 183 spinlock_t gl_spin;
184 184
185 unsigned int gl_state; 185 unsigned int gl_state;
186 struct task_struct *gl_owner;
187 unsigned long gl_ip;
186 struct list_head gl_holders; 188 struct list_head gl_holders;
187 struct list_head gl_waiters1; /* HIF_MUTEX */ 189 struct list_head gl_waiters1; /* HIF_MUTEX */
188 struct list_head gl_waiters2; /* HIF_DEMOTE, HIF_GREEDY */ 190 struct list_head gl_waiters2; /* HIF_DEMOTE, HIF_GREEDY */
@@ -244,6 +246,7 @@ enum {
244}; 246};
245 247
246struct gfs2_inode { 248struct gfs2_inode {
249 struct inode i_inode;
247 struct gfs2_inum i_num; 250 struct gfs2_inum i_num;
248 251
249 atomic_t i_count; 252 atomic_t i_count;
@@ -270,6 +273,11 @@ struct gfs2_inode {
270 struct buffer_head *i_cache[GFS2_MAX_META_HEIGHT]; 273 struct buffer_head *i_cache[GFS2_MAX_META_HEIGHT];
271}; 274};
272 275
276static inline struct gfs2_inode *GFS2_I(struct inode *inode)
277{
278 return container_of(inode, struct gfs2_inode, i_inode);
279}
280
273enum { 281enum {
274 GFF_DID_DIRECT_ALLOC = 0, 282 GFF_DID_DIRECT_ALLOC = 0,
275}; 283};