[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070603185121.GS8952@lazybastard.org>
Date: Sun, 3 Jun 2007 20:51:21 +0200
From: Jörn Engel <joern@...ybastard.org>
To: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mtd@...ts.infradead.org
Cc: akpm@...l.org, Sam Ravnborg <sam@...nborg.org>,
John Stoffel <john@...ffel.org>,
David Woodhouse <dwmw2@...radead.org>,
Jamie Lokier <jamie@...reable.org>,
Artem Bityutskiy <dedekind@...radead.org>,
CaT <cat@....com.au>, Jan Engelhardt <jengelh@...ux01.gwdg.de>,
Evgeniy Polyakov <johnpol@....mipt.ru>,
David Weinehall <tao@....umu.se>,
Arnd Bergmann <arnd@...db.de>, Willy Tarreau <w@....eu>,
Kyle Moffett <mrmacman_g4@....com>,
Dongjun Shin <djshin90@...il.com>, Pavel Machek <pavel@....cz>,
Bill Davidsen <davidsen@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Albert Cahalan <acahalan@...il.com>,
Pekka Enberg <penberg@...helsinki.fi>,
Roland Dreier <rdreier@...co.com>,
Ondrej Zajicek <santiago@...reenet.org>,
Ulisses Furquim <ulissesf@...il.com>
Subject: [Patch 18/18] fs/logfs/Locking
--- /dev/null 2007-03-13 19:15:28.862769062 +0100
+++ linux-2.6.21logfs/fs/logfs/Locking 2007-06-03 19:18:57.000000000 +0200
@@ -0,0 +1,45 @@
+Locks:
+
+s_victim_mutex
+Protects victim inode for create, unlink, mkdir, rmdir, mknod, link,
+symlink and one variant of rename. Only one victim inode may exist at
+a time. In case of unclean unmount, victim inode has to be deleted
+before next read-writable mount.
+
+s_rename_mutex
+Protects victim dd for rename. Only one victim dd may exist at a
+time. In case of unclean unmount, victim dd has to be deleted before
+next read-writable mount.
+
+s_write_inode_mutex
+Taken when writing an inode. Deleted inodes can be locked, preventing
+further iget operations during writeout. Logfs may need to iget the
+inode for garbage collection, so the inode in question needs to be
+stored in the superblock and used directly without calling iget.
+
+s_log_sem
+Used for allocating space in journal.
+
+s_r_sem
+Protects the memory required for reads from the filesystem.
+
+s_w_sem
+Protects the memory required for writes to the filesystem.
+
+s_ino_lock
+Protects s_last_ino.
+
+
+Lock order:
+s_rename_mutex --> s_victim_mutex
+s_rename_mutex --> s_write_inode_mutex
+s_rename_mutex --> s_w_sem
+
+s_victim_mutex --> s_write_inode_mutex
+s_victim_mutex --> s_w_sem
+s_victim_mutex --> s_ino_lock
+
+s_write_inode_mutex --> s_w_sem
+
+s_w_sem --> s_log_sem
+s_w_sem --> s_r_sem
-
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