summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/ops_address.c
diff options
context:
space:
mode:
authorSteven Whitehouse2007-09-20 16:26:33 +0200
committerSteven Whitehouse2007-10-10 09:56:31 +0200
commit891ba6d4a5f9e6302bb6542592d73feb4d0d3687 (patch)
treea99d059aa2f1803111b063ce99beb809f384e44a /fs/gfs2/ops_address.c
parent[GFS2] Alternate gfs2_iget to avoid looking up inodes being freed (diff)
downloadkernel-qcow2-linux-891ba6d4a5f9e6302bb6542592d73feb4d0d3687.tar.gz
kernel-qcow2-linux-891ba6d4a5f9e6302bb6542592d73feb4d0d3687.tar.xz
kernel-qcow2-linux-891ba6d4a5f9e6302bb6542592d73feb4d0d3687.zip
[GFS2] Don't try to remove buffers that don't exist
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/ops_address.c')
-rw-r--r--fs/gfs2/ops_address.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c
index 4002f417dc19..873a511ef2be 100644
--- a/fs/gfs2/ops_address.c
+++ b/fs/gfs2/ops_address.c
@@ -747,7 +747,7 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_mask)
struct gfs2_bufdata *bd;
if (!page_has_buffers(page))
- goto out;
+ return 0;
gfs2_log_lock(sdp);
head = bh = page_buffers(page);
@@ -787,7 +787,6 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_mask)
bh = bh->b_this_page;
} while (bh != head);
-out:
return try_to_free_buffers(page);
cannot_release:
gfs2_log_unlock(sdp);