diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2012-04-19 05:38:50 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2012-04-24 11:44:38 -0400 |
commit | 144a4c2ff75552e2aabb9256ca0ec5e277097153 (patch) | |
tree | aa27e93cc135ba15eb3fe17e732ed74b1a7b8886 /fs/gfs2 | |
parent | 4306629e1c0fd098d52f499e5a60aaa03e30df0d (diff) |
GFS2: Log code fixes
This patch removes a log lock from around atomic operation where
it is not needed, removes an unused variable, and also changes
a void pointer used incorrectly to a struct page pointer.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/log.c | 4 | ||||
-rw-r--r-- | fs/gfs2/lops.c | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index 2307218de6e4..db9cb187b6a2 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c | |||
@@ -643,10 +643,8 @@ void gfs2_log_flush(struct gfs2_sbd *sdp, struct gfs2_glock *gl) | |||
643 | if (sdp->sd_log_head != sdp->sd_log_flush_head) { | 643 | if (sdp->sd_log_head != sdp->sd_log_flush_head) { |
644 | log_write_header(sdp, 0); | 644 | log_write_header(sdp, 0); |
645 | } else if (sdp->sd_log_tail != current_tail(sdp) && !sdp->sd_log_idle){ | 645 | } else if (sdp->sd_log_tail != current_tail(sdp) && !sdp->sd_log_idle){ |
646 | gfs2_log_lock(sdp); | ||
647 | atomic_dec(&sdp->sd_log_blks_free); /* Adjust for unreserved buffer */ | 646 | atomic_dec(&sdp->sd_log_blks_free); /* Adjust for unreserved buffer */ |
648 | trace_gfs2_log_blocks(sdp, -1); | 647 | trace_gfs2_log_blocks(sdp, -1); |
649 | gfs2_log_unlock(sdp); | ||
650 | log_write_header(sdp, 0); | 648 | log_write_header(sdp, 0); |
651 | } | 649 | } |
652 | lops_after_commit(sdp, ai); | 650 | lops_after_commit(sdp, ai); |
@@ -797,11 +795,9 @@ int gfs2_logd(void *data) | |||
797 | struct gfs2_sbd *sdp = data; | 795 | struct gfs2_sbd *sdp = data; |
798 | unsigned long t = 1; | 796 | unsigned long t = 1; |
799 | DEFINE_WAIT(wait); | 797 | DEFINE_WAIT(wait); |
800 | unsigned preflush; | ||
801 | 798 | ||
802 | while (!kthread_should_stop()) { | 799 | while (!kthread_should_stop()) { |
803 | 800 | ||
804 | preflush = atomic_read(&sdp->sd_log_pinned); | ||
805 | if (gfs2_jrnl_flush_reqd(sdp) || t == 0) { | 801 | if (gfs2_jrnl_flush_reqd(sdp) || t == 0) { |
806 | gfs2_ail1_empty(sdp); | 802 | gfs2_ail1_empty(sdp); |
807 | gfs2_log_flush(sdp, NULL); | 803 | gfs2_log_flush(sdp, NULL); |
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index e9709dabc267..11fedb569225 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c | |||
@@ -375,7 +375,7 @@ void gfs2_log_write_page(struct gfs2_sbd *sdp, struct page *page) | |||
375 | static struct page *gfs2_get_log_desc(struct gfs2_sbd *sdp, u32 ld_type, | 375 | static struct page *gfs2_get_log_desc(struct gfs2_sbd *sdp, u32 ld_type, |
376 | u32 ld_length, u32 ld_data1) | 376 | u32 ld_length, u32 ld_data1) |
377 | { | 377 | { |
378 | void *page = mempool_alloc(gfs2_page_pool, GFP_NOIO); | 378 | struct page *page = mempool_alloc(gfs2_page_pool, GFP_NOIO); |
379 | struct gfs2_log_descriptor *ld = page_address(page); | 379 | struct gfs2_log_descriptor *ld = page_address(page); |
380 | clear_page(ld); | 380 | clear_page(ld); |
381 | ld->ld_header.mh_magic = cpu_to_be32(GFS2_MAGIC); | 381 | ld->ld_header.mh_magic = cpu_to_be32(GFS2_MAGIC); |