Re: Regression in suspend to ram in 2.6.31-rc kernels

OGAWA Hirofumi
2009-09-09T13:52:26Z

Christoph Hellwig <hch@lst.de> writes:

> On Fri, Sep 04, 2009 at 09:47:46AM +0900, OGAWA Hirofumi wrote:
>> Well, that commit seems a bit strange. It calls fat_clusters_flush()
>> unconditionally without checking sb->s_dirt. However, if my guess is
>> right, "sync after removed event" itself sounds like the issue in
>> suspend process.
>
> The idea of ->sync_fs is that we always perform the sync activity,
> and not just the usual background superblock writeback trigerred by
> s_dirt. If FAT doesn't need that and never has races around s_dirt
> you can add the check back, but I would recommend against it.

I'm not sure the detail of your idea of ->sync_fs. "always perform" is
not the goal of it, right? Anyway, we should consider about unnecessary
write reduces the lifetime of flash base device.

And what races of s_dirt? ("always perform" fixed those? and why we
gave up to fix the real problems or root-casue?) Maybe, I already
noticed one of those, but I may not be noticing all of those. If you
can explain the detail of those known problems, I appreciate and would
be useful.

And write_super() of FAT doesn't affect to fs consistency, it's one of
reasons why I moved it to write_super().

Thanks.
--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>