lkml.org 
[lkml]   [2018]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 030/107] fscache: Allow cancelled operations to be enqueued
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Kiran Kumar Modukuri <kiran.modukuri@gmail.com>

    [ Upstream commit d0eb06afe712b7b103b6361f40a9a0c638524669 ]

    Alter the state-check assertion in fscache_enqueue_operation() to allow
    cancelled operations to be given processing time so they can be cleaned up.

    Also fix a debugging statement that was requiring such operations to have
    an object assigned.

    Fixes: 9ae326a69004 ("CacheFiles: A cache that backs onto a mounted filesystem")
    Reported-by: Kiran Kumar Modukuri <kiran.modukuri@gmail.com>
    Signed-off-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/fscache/operation.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/fs/fscache/operation.c
    +++ b/fs/fscache/operation.c
    @@ -66,7 +66,8 @@ void fscache_enqueue_operation(struct fs
    ASSERT(op->processor != NULL);
    ASSERT(fscache_object_is_available(op->object));
    ASSERTCMP(atomic_read(&op->usage), >, 0);
    - ASSERTCMP(op->state, ==, FSCACHE_OP_ST_IN_PROGRESS);
    + ASSERTIFCMP(op->state != FSCACHE_OP_ST_IN_PROGRESS,
    + op->state, ==, FSCACHE_OP_ST_CANCELLED);

    fscache_stat(&fscache_n_op_enqueue);
    switch (op->flags & FSCACHE_OP_TYPE) {
    @@ -481,7 +482,8 @@ void fscache_put_operation(struct fscach
    struct fscache_cache *cache;

    _enter("{OBJ%x OP%x,%d}",
    - op->object->debug_id, op->debug_id, atomic_read(&op->usage));
    + op->object ? op->object->debug_id : 0,
    + op->debug_id, atomic_read(&op->usage));

    ASSERTCMP(atomic_read(&op->usage), >, 0);


    \
     
     \ /
      Last update: 2018-09-03 19:08    [W:4.114 / U:1.520 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site