Whamcloud - gitweb
LU-4503 clio: lu_ref_del() mismatch ref add scope 70/8970/3
authorBobi Jam <bobijam.xu@intel.com>
Thu, 23 Jan 2014 05:16:51 +0000 (13:16 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 12 Aug 2014 15:20:05 +0000 (15:20 +0000)
git commit 4fcbd1af9ec3b1e5f6424d925f43f0cb2910c3ec adds page to
a list and 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 --enable-lu_ref will detect
this scope mismatch.

Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Change-Id: I368ac1f7118f420edde651ce84a595128d15b527
Reviewed-on: http://review.whamcloud.com/8970
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: frank zago <fzago@cray.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/llite/vvp_io.c

index 77b4049..fff352f 100644 (file)
@@ -662,7 +662,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() */
        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);
 }
 
        cl_page_put(env, page);
 }