Whamcloud - gitweb
LU-169 lov: add lsm refcounting
authorJinshan Xiong <jinshan.xiong@whamcloud.com>
Tue, 19 Jun 2012 13:09:48 +0000 (21:09 +0800)
committerOleg Drokin <green@whamcloud.com>
Tue, 3 Jul 2012 08:42:03 +0000 (04:42 -0400)
commit9f3469f1d00099b9301ba2b90c846c924ce7796b
treef8039f4b173ef83ab41b3098d7cbed7ce2b27a78
parentc356794cbe6c89281d1287da280d85301629ed9f
LU-169 lov: add lsm refcounting

This patch adds a reference counter to the lsm structure.
Each time a lsm is used, a reference must be taken with lsm_get/addref
(lsm_addref() can be used when we already own a reference on the lsm).
This reference can be released via obd_free_memmd(). The lsm is freed
when the last reference is dropped.

This patch also moves lov_stripe_md into a private data of
lov_object.

Signed-off-by: Jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Signed-off-by: Jinshan Xiong <jinshan.xiong@whamcloud.com>
Change-Id: I156b4cc2dc82bb15ae8107cf9842f100048c03d4
Reviewed-on: http://review.whamcloud.com/1874
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Johann Lombardi <johann@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
31 files changed:
libcfs/include/libcfs/posix/posix-types.h
lustre/include/lclient.h
lustre/include/obd.h
lustre/lclient/glimpse.c
lustre/lclient/lcommon_cl.c
lustre/liblustre/file.c
lustre/liblustre/llite_lib.h
lustre/liblustre/namei.c
lustre/liblustre/rw.c
lustre/liblustre/super.c
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_close.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/llite_nfs.c
lustre/llite/rw.c
lustre/llite/rw26.c
lustre/llite/statahead.c
lustre/llite/symlink.c
lustre/llite/vvp_io.c
lustre/llite/xattr.c
lustre/lov/lov_cl_internal.h
lustre/lov/lov_internal.h
lustre/lov/lov_io.c
lustre/lov/lov_merge.c
lustre/lov/lov_obd.c
lustre/lov/lov_object.c
lustre/lov/lov_pack.c
lustre/obdclass/debug.c
lustre/obdecho/echo_client.c