On 11/09/2010 03:24 PM, Rik van Riel wrote: > On 11/09/2010 04:21 PM, Zan Lynx wrote: >> On 11/9/10 12:33 PM, Rik van Riel wrote: >>> On 11/09/2010 02:21 PM, Jeff Layton wrote: >>> >>>> This does leave the page in sort of a funky state. The uptodate bit >>>> will still probably be set, but the dirty bit won't be. The page will >>>> be effectively "disconnected" from the backing store until someone >>>> writes to it. >>>> >>>> I suppose though that this is the best that can reasonably be done in >>>> this situation however... >>> >>> I spent a few days looking for alternatives, and indeed I found >>> nothing better... >> >> Just an off the top of my head crazy idea... >> >> Could you leave the error bit set on the page and treat it as a dirty >> bit during a future msync, clearing the error bit at that point. >> >> The general idea would be to leave the error set unless an explicit >> write was requested. > > The problem with that is that the page will be unreclaimable, > and the VM could get filled with PageError pages and be unable > to make further progress (if the IO path does not come back). As a further crazy idea ;) what if it only persisted for "X" write attempts? Maybe (sigh) a tunable? That way several fsyncs get the chance to see it, but eventually enough writebacks will go off to give up and clear it. Hacky, but an idea ... -Eric -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html