APPLIED: [B/C][PATCH 0/1] Fix for LP#1821395 (fscache: jobs might hang when fscache disk is full)
Khaled Elmously
khalid.elmously at canonical.com
Thu Mar 28 05:41:15 UTC 2019
On 2019-03-22 17:05:31 , Mauricio Faria de Oliveira wrote:
> BugLink: https://bugs.launchpad.net/bugs/1821395
>
> [Impact]
>
> * fscache issue where jobs get hung when fscache disk is full.
>
> * trivial upstream fix; already applied in X/D, required in B/C:
> commit c5a94f434c82 ("fscache: fix race between enablement and
> dropping of object").
>
> [Test Case]
>
> * Test kernel verified / regression-tested by reporter.
>
> * Apparently there's no simple test case,
> but these are the conditions to hit the problem:
>
> 1) The active dataset size is equal to the cache disk size.
> The application reads the data over and over again.
> 2) Disk is near full (90%+)
> 3) cachefilesd in userspace is trying to cull the old objects
> while new objects are being looked up.
> 4) new cachefiles are created and some fail with no disk space.
> 5) race in dropping object state machine and
> deferred lookup state machine causes the hang.
> 6) HUNG in fscache_wait_for_deferred_lookup for
> clear bit FSCACHE_COOKIE_LOOKING_UP cookie->flags.
>
> [Regression Potential]
>
> * Low; contained in fscache; no further fixes applied upstream.
>
> * This patch is applied in a stable tree (linux-4.4.y).
>
> [Original Description]
>
> An user reported an fscache issue where jobs get hung when the fscache disk is full.
>
> After investigation, it's been found to be an issue already reported/fixed upstream,
> by commit c5a94f434c82 ("fscache: fix race between enablement and dropping of object").
>
> This patch is required in Bionic and Cosmic, and
> it's applied in Xenial (via stable) and Disco.
>
> Apparently there's no simple test case, but these are the conditions to hit the problem:
>
> 1) The active dataset size is equal to the cache disk size.
> The application reads the data over and over again.
> 2) Disk is near full (90%+)
> 3) cachefilesd in userspace is trying to cull the old objects
> while new objects are being looked up.
> 4) new cachefiles are created and some fail with no disk space.
> 5) race in dropping object state machine and
> deferred lookup state machine causes the hang.
> 6) HUNG in fscache_wait_for_deferred_lookup for
> clear bit FSCACHE_COOKIE_LOOKING_UP cookie->flags.
>
> NeilBrown (1):
> fscache: fix race between enablement and dropping of object
>
> fs/fscache/object.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> --
> 2.17.1
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list