From 4a3c299b9db8d6eefb7e70969a0af7481ab18473 Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 16 Aug 2011 15:31:30 +0100 Subject: [PATCH] --- yaml --- r: 275751 b: refs/heads/master c: dd179946db2493646955efc112d73c85b3cafcb1 h: refs/heads/master i: 275749: ab68c0b0b4863239416235263bf055e666962927 275747: 17a3a76195922e83add326928c8c41c4d588a637 275743: b51c380a229423b9e6769e2b843d826cc2d94eaa v: v3 --- [refs] | 2 +- trunk/fs/dcache.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a71a28cb1684..82b2057e066e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f1fd306a91f875e65af0e04855b23adda6831ac9 +refs/heads/master: dd179946db2493646955efc112d73c85b3cafcb1 diff --git a/trunk/fs/dcache.c b/trunk/fs/dcache.c index a901c6901bce..10ba92def3f6 100644 --- a/trunk/fs/dcache.c +++ b/trunk/fs/dcache.c @@ -36,6 +36,7 @@ #include #include #include +#include #include "internal.h" /* @@ -2383,8 +2384,16 @@ struct dentry *d_materialise_unique(struct dentry *dentry, struct inode *inode) actual = __d_unalias(inode, dentry, alias); } write_sequnlock(&rename_lock); - if (IS_ERR(actual)) + if (IS_ERR(actual)) { + if (PTR_ERR(actual) == -ELOOP) + pr_warn_ratelimited( + "VFS: Lookup of '%s' in %s %s" + " would have caused loop\n", + dentry->d_name.name, + inode->i_sb->s_type->name, + inode->i_sb->s_id); dput(alias); + } goto out_nolock; } }