staging: lustre: clio: lu_ref_del() mismatch ref add scope
authorBobi Jam <bobijam.xu@intel.com>
Sun, 18 Sep 2016 20:37:14 +0000 (16:37 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Sep 2016 07:37:45 +0000 (09:37 +0200)
'commit 77605e41a26f ("staging/lustre/clio: add pages into writeback cache
in batches")' adds a page to a list aggregate issuing them to writeback
cache; A page add is referenced in llite/vvp io scope, while writeback
cache commit de-refers it under osc sub io scope, and enabling -lu_ref
will detect this scope mismatch.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4503
Reviewed-on: http://review.whamcloud.com/8970
Reviewed-by: frank zago <fzago@cray.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/llite/vvp_io.c

index 94916dc..09ccd1f 100644 (file)
@@ -821,7 +821,7 @@ static void write_commit_callback(const struct lu_env *env, struct cl_io *io,
        cl_page_disown(env, io, page);
 
        /* held in ll_cl_init() */
-       lu_ref_del(&page->cp_reference, "cl_io", io);
+       lu_ref_del(&page->cp_reference, "cl_io", cl_io_top(io));
        cl_page_put(env, page);
 }