diff options
author | Al Viro <viro@ZenIV.linux.org.uk> | 2009-05-13 19:13:40 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-06 06:17:26 -0400 |
commit | 72a43d63cb51057393edfbcfc4596066205ad15d (patch) | |
tree | 25b59cdaa08aabadc20100bd2a0c12b5feeaf520 /include | |
parent | 460bcf57b128ce1c0dd553d905fedc097f9955c6 (diff) | |
download | linux-3.10-72a43d63cb51057393edfbcfc4596066205ad15d.tar.gz linux-3.10-72a43d63cb51057393edfbcfc4596066205ad15d.tar.bz2 linux-3.10-72a43d63cb51057393edfbcfc4596066205ad15d.zip |
ext3/4 with synchronous writes gets wedged by Postfix
OK, that's probably the easiest way to do that, as much as I don't like it...
Since iget() et.al. will not accept I_FREEING (will wait to go away
and restart), and since we'd better have serialization between new/free
on fs data structures anyway, we can afford simply skipping I_FREEING
et.al. in insert_inode_locked().
We do that from new_inode, so it won't race with free_inode in any interesting
ways and it won't race with iget (of any origin; nfsd or in case of fs
corruption a lookup) since both still will wait for I_LOCK.
Reviewed-by: "Theodore Ts'o" <tytso@mit.edu>
Acked-by: Jan Kara <jack@suse.cz>
Tested-by: David Watson <dbwatson@ukfsn.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions