summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glock.h
diff options
context:
space:
mode:
authorAndreas Gruenbacher2016-06-17 14:31:27 +0200
committerBob Peterson2016-06-27 16:47:09 +0200
commit6df9f9a253c7dc9f8ed18bf89d762de350a31813 (patch)
treea048f6fb09f9da9d1616b7f5a9c9254ce6f1d7ab /fs/gfs2/glock.h
parentgfs2: Large-filesystem fix for 32-bit systems (diff)
downloadkernel-qcow2-linux-6df9f9a253c7dc9f8ed18bf89d762de350a31813.tar.gz
kernel-qcow2-linux-6df9f9a253c7dc9f8ed18bf89d762de350a31813.tar.xz
kernel-qcow2-linux-6df9f9a253c7dc9f8ed18bf89d762de350a31813.zip
gfs2: Lock holder cleanup
Make the code more readable by cleaning up the different ways of initializing lock holders and checking for initialized lock holders: mark lock holders as uninitialized by setting the holder's glock to NULL (gfs2_holder_mark_uninitialized) instead of zeroing out the entire object or using a separate flag. Recognize initialized holders by their non-NULL glock (gfs2_holder_initialized). Don't zero out holder objects which are immeditiately initialized via gfs2_holder_init or gfs2_glock_nq_init. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Diffstat (limited to 'fs/gfs2/glock.h')
-rw-r--r--fs/gfs2/glock.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/gfs2/glock.h b/fs/gfs2/glock.h
index 46ab67fc16da..ab1ef322f7a5 100644
--- a/fs/gfs2/glock.h
+++ b/fs/gfs2/glock.h
@@ -247,4 +247,14 @@ extern void gfs2_unregister_debugfs(void);
extern const struct lm_lockops gfs2_dlm_ops;
+static inline void gfs2_holder_mark_uninitialized(struct gfs2_holder *gh)
+{
+ gh->gh_gl = NULL;
+}
+
+static inline bool gfs2_holder_initialized(struct gfs2_holder *gh)
+{
+ return gh->gh_gl;
+}
+
#endif /* __GLOCK_DOT_H__ */