On Tue, Dec 18, 2012 at 11:40:22PM +0100, Andre Noll wrote:
> On Wed, Dec 19, 09:16, Dave Chinner wrote:
> > There is a logic inversion in xfssyncd_worker() which means that the
> > log is not periodically forced or idled correctly. This means that
> > metadata changes aggregated in memory do not get flushed in a timely
> > manner, and hence if filesystem is not cleanly unmounted those
> > changes can be lost. This loss can manifest itself even hours after
> > the changes were made if the filesystem is left to idle without a
> > sync() occurring between the last modification and the
> > crash/shutdown occuring.
> > cc: <stable@xxxxxxxxxxxxxx> # 3.7, 3.6, 3.5
> As 3.5 and 3.6 are end of life, Greg will probably apply this only
> to 3.7. Also, the problematic line,
There's a long term 3.5 stable maintainer (someone from canonical)
and AFAIK 3.6 is still being updated - 3.6.11 was tagged only 29
I probably should also mention in the commit message that there is
no equivalent upstream fix, as the fix in 3.8 is part of a complete
reworking of the code and hence not appropriate for backporting
> > - if (!(mp->m_super->s_flags & MS_ACTIVE) &&
> appears to be in the longterm kernels 3.2.35 and 3.4.24 as well (it
> was changed in commit 1307bbd which got reverted in 11159a05). Are
> these kernels also affected?
I have no idea - I don't track them, don't test them and haven't
tried to reproduce the problem on them.
If you want to support all the stable trees, you're welcome to do
all this, but it's not something I care to do. We have reports of
this problem on 3.5 to 3.7 and the patch applies to all three
kernels, so that's as far as I care right now....