kernel-ark/fs/ext4
Theodore Ts'o cc3e1bea5d ext4, jbd2: Add barriers for file systems with exernal journals
This is a bit complicated because we are trying to optimize when we
send barriers to the fs data disk.  We could just throw in an extra
barrier to the data disk whenever we send a barrier to the journal
disk, but that's not always strictly necessary.

We only need to send a barrier during a commit when there are data
blocks which are must be written out due to an inode written in
ordered mode, or if fsync() depends on the commit to force data blocks
to disk.  Finally, before we drop transactions from the beginning of
the journal during a checkpoint operation, we need to guarantee that
any blocks that were flushed out to the data disk are firmly on the
rust platter before we drop the transaction from the journal.

Thanks to Oleg Drokin for pointing out this flaw in ext3/ext4.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2009-12-23 06:52:08 -05:00
..
acl.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext4: fold ext4_free_blocks() and ext4_mb_free_blocks() 2009-11-22 07:44:56 -05:00
bitmap.c ext4: Change unsigned long to unsigned int 2008-11-05 00:14:04 -05:00
block_validity.c ext4: remove unused #include <linux/version.h> 2009-12-14 09:24:20 -05:00
dir.c ext4: Define a new set of flags for ext4_get_blocks() 2009-05-14 00:58:52 -04:00
ext4_extents.h ext4: Split uninitialized extents for direct I/O 2009-09-28 15:49:08 -04:00
ext4_jbd2.c ext4: fold ext4_journal_forget() into ext4_forget() 2009-11-22 21:00:13 -05:00
ext4_jbd2.h ext4: Wait for proper transaction commit on fsync 2009-12-08 23:51:10 -05:00
ext4.h ext4: Convert to generic reserved quota's space management. 2009-12-23 13:33:55 +01:00
extents.c ext4: replace BUG() with return -EIO in ext4_ext_get_blocks 2009-12-14 09:53:52 -05:00
file.c const: mark struct vm_struct_operations 2009-09-27 11:39:25 -07:00
fsync.c ext4, jbd2: Add barriers for file systems with exernal journals 2009-12-23 06:52:08 -05: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: fix build warning when EXT4FS_DEBUG is on 2009-07-27 21:44:40 -04:00
inode.c ext4: fix sleep inside spinlock issue with quota and dealloc (#14739) 2009-12-23 13:44:12 +01:00
ioctl.c ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT 2009-12-06 23:38:31 -05: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: Fix potential quota deadlock 2009-12-23 13:44:12 +01:00
mballoc.h ext4: remove unused #include <linux/version.h> 2009-12-14 09:24:20 -05:00
migrate.c ext4: quota macros cleanup 2009-12-08 22:42:15 -05:00
move_extent.c ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT 2009-12-06 23:38:31 -05:00
namei.c ext4: quota macros cleanup 2009-12-08 22:42:15 -05:00
resize.c ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks() 2009-12-07 10:38:16 -05:00
super.c ext4: add module aliases for ext2 and ext3 2009-12-21 10:56:09 -05:00
symlink.c ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00
xattr_security.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr_trusted.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr_user.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr.c sanitize xattr handler prototypes 2009-12-16 12:16:49 -05:00
xattr.h ext4: Rename ext4dev to ext4 2008-10-10 20:02:48 -04:00