From: Christoph Hellwig <hch@infradead.org>
To: xfs@oss.sgi.com
Subject: [PATCH 1/3] xfs: tell lockdep about parent iolock usage in filestreams
Date: Sat, 6 Nov 2010 07:42:44 -0400 [thread overview]
Message-ID: <20101106114243.GB25395@infradead.org> (raw)
In-Reply-To: <20101106114226.GA25395@infradead.org>
The filestreams code may take the iolock on the parent inode while holding it
on a child. This is the only place in XFS where we take both the child and
parent iolock, so just telling lockdep about it is enough. The lock flag
required for that was already added as part of the ilock lockdep annotations
and unused so far.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Index: xfs/fs/xfs/xfs_filestream.c
===================================================================
--- xfs.orig/fs/xfs/xfs_filestream.c 2010-11-02 14:28:57.888491016 -0400
+++ xfs/fs/xfs/xfs_filestream.c 2010-11-02 14:30:42.591824351 -0400
@@ -744,9 +744,15 @@ xfs_filestream_new_ag(
* If the file's parent directory is known, take its iolock in exclusive
* mode to prevent two sibling files from racing each other to migrate
* themselves and their parent to different AGs.
+ *
+ * Note that we lock the parent directory iolock inside the child
+ * iolock here. That's fine as we never hold both parent and child
+ * iolock in any other place. This is different from the ilock,
+ * which requires locking of the child after the parent for namespace
+ * operations.
*/
if (pip)
- xfs_ilock(pip, XFS_IOLOCK_EXCL);
+ xfs_ilock(pip, XFS_IOLOCK_EXCL | XFS_IOLOCK_PARENT);
/*
* A new AG needs to be found for the file. If the file's parent
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2010-11-06 11:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-06 11:42 a few patches for 2.6.37 Christoph Hellwig
2010-11-06 11:42 ` Christoph Hellwig [this message]
2010-11-06 11:42 ` [PATCH 2/3] xfs: fix a few compiler warnings with CONFIG_XFS_QUOTA=n Christoph Hellwig
2010-11-06 17:51 ` Andi Kleen
2010-11-06 17:56 ` Christoph Hellwig
2010-11-06 11:43 ` [PATCH 3/3] xfs: use hlist_add_fake Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101106114243.GB25395@infradead.org \
--to=hch@infradead.org \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox