diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 18:29:15 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-21 18:29:15 +0400 |
commit | 677abe49ad017679627af9d3bbd9a7ecb3d94c42 (patch) | |
tree | 7cdb7fbc95b51b288e923a3978e17ed2207a4118 /fs/gfs2/trans.c | |
parent | e90e4d9234c953b29267cc4fc9ad804128773313 (diff) | |
parent | 6a99be5d7b5973767b1ffa4fa68fed0738589c99 (diff) | |
download | linux-677abe49ad017679627af9d3bbd9a7ecb3d94c42.tar.xz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw
* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:
GFS2: Fix typo
GFS2: stuck in inode wait, no glocks stuck
GFS2: Eliminate useless err variable
GFS2: Fix writing to non-page aligned gfs2_quota structures
GFS2: Add some useful messages
GFS2: fix quota state reporting
GFS2: Various gfs2_logd improvements
GFS2: glock livelock
GFS2: Clean up stuffed file copying
GFS2: docs update
GFS2: Remove space from slab cache name
Diffstat (limited to 'fs/gfs2/trans.c')
-rw-r--r-- | fs/gfs2/trans.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/fs/gfs2/trans.c b/fs/gfs2/trans.c index 4ef0e9fa3549..9ec73a854111 100644 --- a/fs/gfs2/trans.c +++ b/fs/gfs2/trans.c @@ -23,6 +23,7 @@ #include "meta_io.h" #include "trans.h" #include "util.h" +#include "trace_gfs2.h" int gfs2_trans_begin(struct gfs2_sbd *sdp, unsigned int blocks, unsigned int revokes) @@ -75,6 +76,23 @@ fail_holder_uninit: return error; } +/** + * gfs2_log_release - Release a given number of log blocks + * @sdp: The GFS2 superblock + * @blks: The number of blocks + * + */ + +static void gfs2_log_release(struct gfs2_sbd *sdp, unsigned int blks) +{ + + atomic_add(blks, &sdp->sd_log_blks_free); + trace_gfs2_log_blocks(sdp, blks); + gfs2_assert_withdraw(sdp, atomic_read(&sdp->sd_log_blks_free) <= + sdp->sd_jdesc->jd_blocks); + up_read(&sdp->sd_log_flush_lock); +} + void gfs2_trans_end(struct gfs2_sbd *sdp) { struct gfs2_trans *tr = current->journal_info; |