linux/fs/jbd2
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
..
Kconfig Revert "task_struct: make journal_info conditional" 2009-12-17 13:23:24 -08:00
Makefile [PATCH] jbd2: rename jbd2 symbols to avoid duplication of jbd symbols 2006-10-11 11:14:15 -07:00
checkpoint.c ext4, jbd2: Add barriers for file systems with exernal journals 2009-12-23 06:52:08 -05:00
commit.c ext4, jbd2: Add barriers for file systems with exernal journals 2009-12-23 06:52:08 -05:00
journal.c jbd: jbd-debug and jbd2-debug should be writable 2009-12-23 13:44:13 +01:00
recovery.c jbd2: fix error handling for checkpoint io 2008-10-10 20:29:13 -04:00
revoke.c jbd2: use SWRITE_SYNC_PLUG when writing synchronous revoke records 2009-04-14 07:50:56 -04:00
transaction.c jbd2: Annotate transaction start also for jbd2_journal_restart() 2009-08-17 21:23:17 -04:00