aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-09-14 13:57:38 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-09-14 13:57:38 -0400
commita8336344a5fd1366eb3616d351c39cadcd077f43 (patch)
tree6ef37f62cc72151290aeb411f815eb72b7d82a3a /fs
parentfaa31ce85f626dff30ba865684bd1f0ad97a9ca0 (diff)
[GFS2] Fix glock hash clearing
A one liner bug fix to prevent the return value being wrong when more than one superblock is mounted. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/gfs2/glock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 2316490723c0..64a1676e5f48 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1892,7 +1892,6 @@ static int examine_bucket(glock_examiner examiner, struct gfs2_sbd *sdp,
1892 /* Can't use hlist_for_each_entry - don't want prefetch here */ 1892 /* Can't use hlist_for_each_entry - don't want prefetch here */
1893 if (hlist_empty(head)) 1893 if (hlist_empty(head))
1894 goto out; 1894 goto out;
1895 has_entries = 1;
1896 gl = list_entry(head->first, struct gfs2_glock, gl_list); 1895 gl = list_entry(head->first, struct gfs2_glock, gl_list);
1897 while(1) { 1896 while(1) {
1898 if (gl->gl_sbd == sdp) { 1897 if (gl->gl_sbd == sdp) {
@@ -1902,6 +1901,7 @@ static int examine_bucket(glock_examiner examiner, struct gfs2_sbd *sdp,
1902 gfs2_glock_put(prev); 1901 gfs2_glock_put(prev);
1903 prev = gl; 1902 prev = gl;
1904 examiner(gl); 1903 examiner(gl);
1904 has_entries = 1;
1905 read_lock(gl_lock_addr(hash)); 1905 read_lock(gl_lock_addr(hash));
1906 } 1906 }
1907 if (gl->gl_list.next == NULL) 1907 if (gl->gl_list.next == NULL)