linux/fs/ext3
Jan Kara 5f11e6a440 ext3: 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.

Reviewed-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Jan Kara <jack@suse.cz>
2010-08-05 21:28:28 +02:00
..
acl.c ext3: update ctime when changing the file's permission by setfacl 2010-06-25 01:20:37 +02:00
acl.h ext[234]: move over to 'check_acl' permission model 2009-09-08 11:09:04 -07:00
balloc.c ext3: Avoid loading bitmaps for full groups during block allocation 2010-05-21 19:30:36 +02:00
bitmap.c fs: mark nibblemap const 2007-10-17 08:42:47 -07:00
dir.c ext3 uses rb_node = NULL; to zero rb_root. 2010-05-27 17:39:36 +02:00
ext3_jbd.c ext3: replace remaining __FUNCTION__ occurrences 2008-04-28 08:58:45 -07:00
file.c dquot: cleanup dquot initialize routine 2010-03-05 00:20:30 +01:00
fsync.c drop unused dentry argument to ->fsync 2010-05-27 22:05:02 -04:00
hash.c ext3: Add support for non-native signed/unsigned htree hash algorithms 2008-10-28 13:21:55 -04:00
ialloc.c ext3: replace inode uid,gid,mode init with helper 2010-05-21 18:31:24 -04:00
inode.c ext3: Fix dirtying of journalled buffers in data=journal mode 2010-08-05 21:28:28 +02:00
ioctl.c ext3: remove the BKL in ext3/ioctl.c 2009-04-02 19:04:52 -07:00
Kconfig ext3: default to ordered mode 2010-07-23 12:50:55 +02:00
Makefile [PATCH] ext3: uninline large functions 2006-12-07 08:39:35 -08:00
namei.c ext3: Fix set but unused variables 2010-07-21 16:01:47 +02:00
namei.h [PATCH] ext3: sparse fixes 2005-10-30 17:37:25 -08:00
resize.c ext3: Fix set but unused variables 2010-07-21 16:01:47 +02:00
super.c ext3: remove vestiges of nobh support 2010-07-21 16:01:47 +02:00
symlink.c ext3: symlink must be handled via filesystem specific operation 2010-04-12 21:11:39 +02:00
xattr_security.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_trusted.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr_user.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr.c ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00
xattr.h ext3: constify xattr handlers 2010-05-21 18:31:19 -04:00