login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2008
»
May
»
28
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
[view in full thread]
From: Andrew Morton
Subject:
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
Date: Wednesday, May 28, 2008 - 1:46 am
On Wed, 28 May 2008 18:43:13 +1000 Dave Chinner <david@fromorbit.com> wrote:
quoted text
> On Wed, May 28, 2008 at 01:35:49AM -0700, Andrew Morton wrote: > > On Wed, 28 May 2008 18:25:50 +1000 Dave Chinner <david@fromorbit.com> wrote: > > > On Tue, May 27, 2008 at 10:38:32PM -0700, Andrew Morton wrote: > > > > On Fri, 23 May 2008 22:34:29 +0200 Guillaume Chazarain <guichaz@gmail.com> wrote: > > > > > diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c > > > > > index 495214d..0e6881e 100644 > > > > > --- a/fs/fs-writeback.c > > > > > +++ b/fs/fs-writeback.c > > > > > @@ -454,6 +454,7 @@ void generic_sync_sb_inodes(struct super_block *sb, > > > > > struct address_space *mapping = inode->i_mapping; > > > > > struct backing_dev_info *bdi = mapping->backing_dev_info; > > > > > long pages_skipped; > > > > > + int err; > > > > > > > > > > if (!bdi_cap_writeback_dirty(bdi)) { > > > > > redirty_tail(inode); > > > > > @@ -498,7 +499,8 @@ void generic_sync_sb_inodes(struct super_block *sb, > > > > > BUG_ON(inode->i_state & I_FREEING); > > > > > __iget(inode); > > > > > pages_skipped = wbc->pages_skipped; > > > > > - __writeback_single_inode(inode, wbc); > > > > > + err = __writeback_single_inode(inode, wbc); > > > > > + mapping_set_error(mapping, err); > > > > > if (wbc->sync_mode == WB_SYNC_HOLD) { > > > > > inode->dirtied_when = jiffies; > > > > > list_move(&inode->i_list, &sb->s_dirty); > > > > > > > > ho hum, I've forgotten why I didn't like this. Let's give it a run. > > > > > > IIRC, it'll produce lots of spurious EIO errors under writeback on > > > XFS as XFS will return EAGAIN if we've been asked for a non-blocking > > > flush and we would have blocked.... > > > > 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); > > Rapidly gets messy. XFS can also return at least EDQUOT and EUCLEAN > (i.e. EFSCORRUPTED) from here as well, and it's likely that there's > other real errors I can't think of right now as well. >
argh. Who said it was allowed to do that :( Give up. We (ie: I) need to fix this one properly. --
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [thread] [
date
] [
author
]
Messages in current thread:
[PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Guillaume Chazarain
, (Fri May 23, 1:34 pm)
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Andrew Morton
, (Tue May 27, 10:38 pm)
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Guillaume Chazarain
, (Wed May 28, 1:18 am)
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Dave Chinner
, (Wed May 28, 1:25 am)
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Andrew Morton
, (Wed May 28, 1:35 am)
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Dave Chinner
, (Wed May 28, 1:43 am)
Re: [PATCH] fs-writeback: handle errors in sync_sb_inodes()
, Andrew Morton
, (Wed May 28, 1:46 am)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Mel Gorman
Re: [PATCH 1/4] vmstat: remove zone->lock from walk_zones_in_node
Guenter Roeck
Re: [lm-sensors] Location for thermal drivers
David Woodhouse
Re: RFC: Moving firmware blobs out of the kernel.
Siddha, Suresh B
Re: [PATCH 2.6.21 review I] [11/25] x86: default to physical mode on hotplug CPU k...
Peter Zijlstra
Re: [patch 4/6] mm: merge populate and nopage into fault (fixes nonlinear)
git-commits-head
:
Linux Kernel Mailing List
[MIPS] Fix potential latency problem due to non-atomic cpu_wait.
Linux Kernel Mailing List
USB: rename USB_SPEED_VARIABLE to USB_SPEED_WIRELESS
Linux Kernel Mailing List
lib/vsprintf.c: fix bug omitting minus sign of numbers (module_param)
Linux Kernel Mailing List
[Bluetooth] Initiate authentication during connection establishment
Linux Kernel Mailing List
[POWERPC] 4xx: Add ppc40x_defconfig
linux-netdev
:
MERCEDES
Your mail id has won 950,000.00 in the MERCEDES Benz Online Promo.for claims send:
David Miller
Re: [PATCH] xen/netfront: do not mark packets of length < MSS as GSO
David Miller
Re: skb_segment() questions
Shan Wei
[RFC PATCH net-next 2/5]IPv6:netfilter: Send an ICMPv6 "Fragment Reassembly Timeou...
Stanislaw Gruszka
[PATCH 1/4] bnx2x: use smp_mb() to keep ordering of read write operations
git
:
Nicolas Sebrecht
git-svn died of signal 11 (was "3 failures on test t9100 (svn)")
Junio C Hamano
Re: [PATCH 2/2] Add url.<base>.pushInsteadOf: URL rewriting for push only
Martin Langhoff
Re: [PATCH] GIT commit statistics.
Alexandre Julliard
[PATCH] gitweb: Put back shortlog instead of graphiclog in the project list.
Josh Triplett
[PATCH 2/2] Add url.<base>.pushInsteadOf: URL rewriting for push only
openbsd-misc
:
Taisto Qvist XX
Re: AMD GEODE LX-800 just works with kernel from install42.iso and kernelpanics wi...
Nico Meijer
Re: gOS Develop Kit with VIA pc-1 Processor Platform VIA C7-D
Andreas Bihlmaier
Re: jetway board sensors (Fintek F71805F)
admin
Drive a 2009 car from R799p/m
Antti Harri
Re: how to create a sha256 hash
Colocation donated by:
Syndicate