[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140603132153.GA26512@tucsk.piliscsaba.szeredi.hu>
Date: Tue, 3 Jun 2014 15:21:53 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: David Howells <dhowells@...hat.com>
Cc: Sedat Dilek <sedat.dilek@...il.com>,
"J. R. Okajima" <hooanon05g@...il.com>,
Al Viro <viro@...iv.linux.org.uk>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Christoph Hellwig <hch@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Robo Bot <apw@...onical.com>, Felix Fietkau <nbd@...nwrt.org>,
Neil Brown <neilb@...e.de>,
Jordi Pujol <jordipujolp@...il.com>, ezk@....cs.sunysb.edu,
"mszeredi@...e.cz" <mszeredi@...e.cz>
Subject: Re: Unionmount and overlayfs testsuite
On Tue, Jun 03, 2014 at 11:33:54AM +0100, David Howells wrote:
> Miklos Szeredi <miklos@...redi.hu> wrote:
>
> > Fix now pushed to overlayfs.v22/overlayfs.current.
>
> I ran my testscript, which leaves a clean set up and mounted overlay fs
> behind. I then ran:
>
> for ((i=100; i<=129; i++)); do mv /mnt/a/foo$i /mnt/a/bar$i; done
> for ((i=100; i<=129; i++)); do mv /mnt/a/dir$i /mnt/a/dir2$i; done
>
> leading to:
>
> =============================================
> [ INFO: possible recursive locking detected ]
> 3.15.0-rc6-fsdevel+ #382 Tainted: G W
> ---------------------------------------------
> mv/27935 is trying to acquire lock:
> (&sb->s_type->i_mutex_key#9){+.+.+.}, at: [<ffffffff8111e555>] vfs_rmdir+0x59/0xe8
>
> but task is already holding lock:
> (&sb->s_type->i_mutex_key#9){+.+.+.}, at: [<ffffffff811e12a9>] ovl_clear_empty+0x175/0x1eb
And this one is a missing annotation in overlayfs. Tested patch pushed to the
usual branches.
Thanks,
Miklos
---
fs/overlayfs/dir.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/overlayfs/dir.c
+++ b/fs/overlayfs/dir.c
@@ -253,7 +253,7 @@ static struct dentry *ovl_clear_empty(st
unlock_rename(workdir, upperdir);
ovl_cleanup_whiteouts(upper, list);
- mutex_lock(&wdir->i_mutex);
+ mutex_lock_nested(&wdir->i_mutex, I_MUTEX_PARENT);
ovl_cleanup(wdir, upper);
mutex_unlock(&wdir->i_mutex);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists