alistair23-linux/fs/ext4
Jan Kara 56d35a4cd1 ext4: Fix dirtying of journalled buffers in data=journal mode
In data=journal mode, we still use block_write_begin() to prepare
page for writing. This function can occasionally mark buffer dirty
which violates journalling assumptions - when a buffer is part of
a transaction, it should be dirty and a buffer can be already part
of a forget list of some transaction when block_write_begin()
gets called. This violation of journalling assumptions then results
in "JBD: Spotted dirty metadata buffer..." warnings.

In fact, temporary dirtying the buffer while the page is still locked
does not really cause problems to the journalling because we won't write
the buffer until the page gets unlocked. So we just have to make sure
to clear dirty bits before unlocking the page.

Signed-off-by: Jan Kara <jack@suse.cz>
2010-08-05 14:41:42 -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
block_validity.c ext4: Save error information to the superblock for analysis 2010-07-27 11:56:03 -04:00
dir.c ext4: Remove unnecessary casts of private_data 2010-07-27 11:56:04 -04:00
ext4.h ext4: re-inline ext4_rec_len_(to|from)_disk functions 2010-08-05 01:46:37 -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
extents.c ext4: Pass line numbers to ext4_error() and friends 2010-07-27 11:56:40 -04:00
file.c ext4: fix EFBIG edge case when writing to large non-extent file 2010-07-27 11:56:07 -04:00
fsync.c rename the generic fsync implementations 2010-05-27 22:06:06 -04:00
hash.c
ialloc.c ext4: Clean up s_dirt handling 2010-06-11 23:14:04 -04:00
inode.c ext4: Fix dirtying of journalled buffers in data=journal mode 2010-08-05 14:41:42 -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
mballoc.c ext4: don't print scary messages for allocation failures post-abort 2010-07-27 11:56:08 -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: remove initialized but not read variables 2010-06-14 13:28:03 -04:00
super.c jbd2: Change j_state_lock to be a rwlock_t 2010-08-03 21:35:12 -04:00
symlink.c ext4: symlink must be handled via filesystem specific operation 2010-05-16 02:00:00 -04:00
xattr.c ext4: Clean up s_dirt handling 2010-06-11 23:14:04 -04:00
xattr.h ext4: constify xattr_handler 2010-05-21 18:31:19 -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