On Wed, 28 May 2008 18:25:50 +1000 Dave Chinner <david@fromorbit.com> wrote:
OIC. This, I guess...
--- a/fs/fs-writeback.c~fs-writeback-handle-errors-in-sync_sb_inodes-fix
+++ a/fs/fs-writeback.c
@@ -500,7 +500,8 @@ void generic_sync_sb_inodes(struct super
__iget(inode);
pages_skipped = wbc->pages_skipped;
err = __writeback_single_inode(inode, wbc);
- mapping_set_error(mapping, err);
+ if (err == -EIO || err == -ENOSPC) /* xfs can return -EAGAIN */
+ mapping_set_error(mapping, err);
if (wbc->sync_mode == WB_SYNC_HOLD) {
inode->dirtied_when = jiffies;
list_move(&inode->i_list, &sb->s_dirty);
_
I do so need to find time to work out where this all really has gone wrong.
--