aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-01-14 16:26:18 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-14 16:26:18 -0500
commit6f7f7caab259026234277b659485d22c1dcb1ab4 (patch)
treedb5515958f3cc27462b3c8324b1fb05677193d52
parentd018b6f4f1539f3679fbdc2d02d58d09e76be84a (diff)
Turn d_set_d_op() BUG_ON() into WARN_ON_ONCE()
It's indicative of a real problem, and it actually triggers with autofs4, but the BUG_ON() is excessive. The autofs4 case is being fixed (to only set d_op in the ->lookup method) but not merged yet. In the meantime this gets the code limping along. Reported-by: Alex Elder <aelder@sgi.com> Cc: Ian Kent <raven@themaw.net> Cc: Nick Piggin <npiggin@kernel.dk> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/dcache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 0c6d5c549d84..274a22250380 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1357,8 +1357,8 @@ EXPORT_SYMBOL(d_alloc_name);
1357 1357
1358void d_set_d_op(struct dentry *dentry, const struct dentry_operations *op) 1358void d_set_d_op(struct dentry *dentry, const struct dentry_operations *op)
1359{ 1359{
1360 BUG_ON(dentry->d_op); 1360 WARN_ON_ONCE(dentry->d_op);
1361 BUG_ON(dentry->d_flags & (DCACHE_OP_HASH | 1361 WARN_ON_ONCE(dentry->d_flags & (DCACHE_OP_HASH |
1362 DCACHE_OP_COMPARE | 1362 DCACHE_OP_COMPARE |
1363 DCACHE_OP_REVALIDATE | 1363 DCACHE_OP_REVALIDATE |
1364 DCACHE_OP_DELETE )); 1364 DCACHE_OP_DELETE ));