diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2008-01-30 15:34:04 +0000 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2008-03-31 10:40:26 +0100 |
commit | da755fdb414470d6dce3df12ad188de9131cf96c (patch) | |
tree | 7081889e6fc13f4ffdf86f5e928a748af7a7adbc /fs/gfs2/util.c | |
parent | ab0d756681c9502a2ab9e2e4ab3685bc0567f4ee (diff) | |
download | lwn-da755fdb414470d6dce3df12ad188de9131cf96c.tar.gz lwn-da755fdb414470d6dce3df12ad188de9131cf96c.zip |
[GFS2] Remove lm.[ch] and distribute content
The functions in lm.c were just wrappers which were mostly
only used in one other file. By moving the functions to
the files where they are being used, they can be marked
static and also this will usually result in them being inlined
since they are often only used from one point in the code.
A couple of really trivial functions have been inlined by hand
into the function which called them as it makes the code clearer
to do that.
We also gain from one fewer function call in the glock lock and
unlock paths.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/util.c')
-rw-r--r-- | fs/gfs2/util.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/fs/gfs2/util.c b/fs/gfs2/util.c index fe9c28ef77b0..d31e355c61fb 100644 --- a/fs/gfs2/util.c +++ b/fs/gfs2/util.c @@ -19,7 +19,6 @@ #include "gfs2.h" #include "incore.h" #include "glock.h" -#include "lm.h" #include "util.h" struct kmem_cache *gfs2_glock_cachep __read_mostly; @@ -33,6 +32,28 @@ void gfs2_assert_i(struct gfs2_sbd *sdp) sdp->sd_fsname); } +int gfs2_lm_withdraw(struct gfs2_sbd *sdp, char *fmt, ...) +{ + va_list args; + + if (test_and_set_bit(SDF_SHUTDOWN, &sdp->sd_flags)) + return 0; + + va_start(args, fmt); + vprintk(fmt, args); + va_end(args); + + fs_err(sdp, "about to withdraw this file system\n"); + BUG_ON(sdp->sd_args.ar_debug); + + fs_err(sdp, "telling LM to withdraw\n"); + gfs2_withdraw_lockproto(&sdp->sd_lockstruct); + fs_err(sdp, "withdrawn\n"); + dump_stack(); + + return -1; +} + /** * gfs2_assert_withdraw_i - Cause the machine to withdraw if @assertion is false * Returns: -1 if this call withdrew the machine, |