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