kernel-ark/fs/ext4
Eric Sandeen c999af2b34 ext4: queue conversion after adding to inode's completed IO list
By queuing the io end on the unwritten workqueue before adding it
to our inode's list of completed IOs, I think we run the risk
of the work getting completed, and the IO freed, before we try
to add it to the inode's i_completed_io_list.

It should be safe to add it to the inode's list of completed
IOs, and -then- queue it for completion, I think.

Thanks to Dave Chinner for pointing out the race.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Jiaying Zhang <jiayingz@google.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2010-10-27 21:30:07 -04:00
..
acl.c ext4: update ctime when changing the file's permission by setfacl 2010-06-15 12:19:59 -04:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext4: Clean up s_dirt handling 2010-06-11 23:14:04 -04:00
bitmap.c ext4: Change unsigned long to unsigned int 2008-11-05 00:14:04 -05:00
block_validity.c ext4: Save error information to the superblock for analysis 2010-07-27 11:56:03 -04:00
dir.c ext4: improve llseek error handling for overly large seek offsets 2010-10-27 21:30:06 -04:00
ext4_extents.h ext4: Calculate metadata requirements more accurately 2010-01-01 02:41:30 -05:00
ext4_jbd2.c ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
ext4_jbd2.h ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
ext4.h ext4: improve llseek error handling for overly large seek offsets 2010-10-27 21:30:06 -04:00
extents.c ext4: use sb_issue_zeroout in ext4_ext_zeroout 2010-10-27 21:30:06 -04:00
file.c ext4: improve llseek error handling for overly large seek offsets 2010-10-27 21:30:06 -04:00
fsync.c rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
hash.c ext4: Add support for non-native signed/unsigned htree hash algorithms 2008-10-28 13:21:44 -04:00
ialloc.c ext4: add interface to advertise ext4 features in sysfs 2010-10-27 21:30:05 -04:00
inode.c ext4: queue conversion after adding to inode's completed IO list 2010-10-27 21:30:07 -04:00
ioctl.c ext4: Drop whitespace at end of lines 2010-05-17 07:00:00 -04:00
Kconfig ext4: Don't ask about supporting ext2/3 in ext4 if ext4 is not configured 2009-12-21 10:54:09 -05:00
Makefile ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl 2009-06-17 19:24:03 -04:00
mballoc.c ext4: don't use ext4_allocation_contexts for tracing 2010-10-27 21:30:07 -04:00
mballoc.h ext4: consolidate in_range() definitions 2010-03-03 23:55:01 -05:00
migrate.c ext4: Convert more i_flags references to use accessor functions 2010-06-14 09:54:48 -04:00
move_extent.c ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
namei.c ext4: re-inline ext4_rec_len_(to|from)_disk functions 2010-08-05 01:46:37 -04:00
resize.c ext4: use sb_issue_zeroout in setup_new_group_blocks 2010-10-27 21:30:05 -04:00
super.c ext4: don't update sb journal_devnum when RO dev 2010-10-27 21:30:06 -04:00
symlink.c ext4: symlink must be handled via filesystem specific operation 2010-05-16 02:00:00 -04:00
xattr_security.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr_trusted.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr_user.c ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
xattr.h ext4: constify xattr_handler 2010-05-21 18:31:19 -04:00