From: Linus Torvalds Date: Fri, 5 Mar 2010 19:53:53 +0000 (-0800) Subject: Merge branch 'write_inode2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro... X-Git-Tag: v2.6.34-rc1~194 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9467c4fdd66f6810cecef0f1173330f3c6e67d45;p=karo-tx-linux.git Merge branch 'write_inode2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'write_inode2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: pass writeback_control to ->write_inode make sure data is on disk before calling ->write_inode --- 9467c4fdd66f6810cecef0f1173330f3c6e67d45 diff --cc fs/ext4/inode.c index f55df7192b95,d01a6cdbf854..f977aade0d1b --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@@ -5372,11 -5201,13 +5372,11 @@@ int ext4_write_inode(struct inode *inod err = ext4_get_inode_loc(inode, &iloc); if (err) return err; - if (wait) + if (wbc->sync_mode == WB_SYNC_ALL) sync_dirty_buffer(iloc.bh); if (buffer_req(iloc.bh) && !buffer_uptodate(iloc.bh)) { - ext4_error(inode->i_sb, __func__, - "IO error syncing inode, " - "inode=%lu, block=%llu", - inode->i_ino, + ext4_error(inode->i_sb, "IO error syncing inode, " + "inode=%lu, block=%llu", inode->i_ino, (unsigned long long)iloc.bh->b_blocknr); err = -EIO; }