Re: flush and EIO errors when writepages fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

On Fri, Jun 20, 2008 at 05:34:21PM -0500, Steve French (smfrench@xxxxxxxxx) wrote:
> > Right, but with the current implementation, once filemap_fdatawrite
> > returns, any pages that that run touched are either written out or
> > discarded.

Depending on writepages() implementation, it is not always the case.

> That could explain some problems if true.  When writepages fails, we
> make the pages as in error (PG_error flag?) and presumably they are
> still dirty.   Why in the world would anyone free the pages just
> because we failed the first time and need to write them again later?
> Do you where (presumably in /mm) pages could be freed that are still
> dirty (it is hard to find where the PG_error flag is checked etc)?

You can clear writeback bit but leave/set dirty bit in completion
callback for given request. You can manually insert page into radix tree
with dirty tag. You can also lock page and do not allow to unlock it
until you resent your data.

So, there is plenty of possibilities to break page accounting in own
writepages() method :)

-- 
	Evgeniy Polyakov
--
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

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux