From 144a4c2ff75552e2aabb9256ca0ec5e277097153 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Thu, 19 Apr 2012 10:38:50 +0100 Subject: [PATCH] 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 --- fs/gfs2/log.c | 4 ---- fs/gfs2/lops.c | 2 +- 2 files changed, 1 insertion(+), 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) if (sdp->sd_log_head != sdp->sd_log_flush_head) { log_write_header(sdp, 0); } else if (sdp->sd_log_tail != current_tail(sdp) && !sdp->sd_log_idle){ - gfs2_log_lock(sdp); atomic_dec(&sdp->sd_log_blks_free); /* Adjust for unreserved buffer */ trace_gfs2_log_blocks(sdp, -1); - gfs2_log_unlock(sdp); log_write_header(sdp, 0); } lops_after_commit(sdp, ai); @@ -797,11 +795,9 @@ int gfs2_logd(void *data) struct gfs2_sbd *sdp = data; unsigned long t = 1; DEFINE_WAIT(wait); - unsigned preflush; while (!kthread_should_stop()) { - preflush = atomic_read(&sdp->sd_log_pinned); if (gfs2_jrnl_flush_reqd(sdp) || t == 0) { gfs2_ail1_empty(sdp); 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) static struct page *gfs2_get_log_desc(struct gfs2_sbd *sdp, u32 ld_type, u32 ld_length, u32 ld_data1) { - void *page = mempool_alloc(gfs2_page_pool, GFP_NOIO); + struct page *page = mempool_alloc(gfs2_page_pool, GFP_NOIO); struct gfs2_log_descriptor *ld = page_address(page); clear_page(ld); ld->ld_header.mh_magic = cpu_to_be32(GFS2_MAGIC);