diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-09-14 13:57:38 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-09-14 13:57:38 -0400 |
commit | a8336344a5fd1366eb3616d351c39cadcd077f43 (patch) | |
tree | 6ef37f62cc72151290aeb411f815eb72b7d82a3a | |
parent | faa31ce85f626dff30ba865684bd1f0ad97a9ca0 (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>
-rw-r--r-- | fs/gfs2/glock.c | 2 |
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) |