[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1219339027.6342.19.camel@mingming-laptop>
Date: Thu, 21 Aug 2008 10:17:07 -0700
From: Mingming Cao <cmm@...ibm.com>
To: Theodore Tso <tytso@....edu>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@...ux.vnet.ibm.com>,
ext4 development <linux-ext4@...r.kernel.org>
Subject: Re: ENOSPC returned during writepages
在 2008-08-21四的 11:35 -0400,Theodore Tso写道:
> On Thu, Aug 21, 2008 at 08:48:15PM +0530, Aneesh Kumar K.V wrote:
> > > I have a feeling that we did not try very hard before invalidate the
> > > dirty page which fail to map to disks. Perhaps we should try a few more
> > > times before give up. Also in that case, perhaps we should turn off
> > > delalloc fs wide, so the new writers won't take the subsequently made
> > > avaible free blocks away from this unlucky delalloc da writepages.
> >
> > How do we try hard ? The mballoc already try had to allocate blocks. So I
> > am not sure what do we achieve by requesting for block allocation again.
>
> So here's the problem that we face. If we have a situation where the
> disk fills temporarily, but then subsequently space gets freed up, it
> would be preferable if the dirty page isn't invalidated, and so
> periodically (or perhaps via "there's-free-space-now notifier") we
> retry the delayed allocation so we don't lose data during a transient
> disk full situation. But at the same time, we don't want an fsync()
> on the entire filesystem, or a umount on the filesystem, to hang
> forever.
>
This situation (disk fills temporarily) is not new, we handled this in
ext4_write_begin() (and other places) by retry allocation three times
in case of ENOSPC error. we could do the same retry in
ext4_da_writepages().
Mingming
> - Ted
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists