projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3a69c7d
)
[XFS] Fix regression in xfs_buf_rele dealing with non-hashed buffers, as
author
Nathan Scott
<nathans@sgi.com>
Wed, 1 Feb 2006 01:14:52 +0000
(12:14 +1100)
committer
Nathan Scott
<nathans@sgi.com>
Wed, 1 Feb 2006 01:14:52 +0000
(12:14 +1100)
occur during log replay. Novell bug 145204, Fedora bug 177848.
SGI-PV: 948860
SGI-Modid: xfs-linux-melb:xfs-kern:25064a
Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/linux-2.6/xfs_buf.c
patch
|
blob
|
history
diff --git
a/fs/xfs/linux-2.6/xfs_buf.c
b/fs/xfs/linux-2.6/xfs_buf.c
index e44b7c1a3a36d432617edfd66131c30a259359f9..a36a8e3b703fdea9090c9c981cbf21410412f345 100644
(file)
--- a/
fs/xfs/linux-2.6/xfs_buf.c
+++ b/
fs/xfs/linux-2.6/xfs_buf.c
@@
-822,6
+822,13
@@
xfs_buf_rele(
XB_TRACE(bp, "rele", bp->b_relse);
+ if (unlikely(!hash)) {
+ ASSERT(!bp->b_relse);
+ if (atomic_dec_and_test(&bp->b_hold))
+ xfs_buf_free(bp);
+ return;
+ }
+
if (atomic_dec_and_lock(&bp->b_hold, &hash->bh_lock)) {
if (bp->b_relse) {
atomic_inc(&bp->b_hold);