Whamcloud - gitweb
LU-4721 obdclass: handle local storage init/fini properly 72/9572/3
authorFan Yong <fan.yong@intel.com>
Tue, 25 Feb 2014 18:42:11 +0000 (02:42 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 11 Apr 2014 16:16:07 +0000 (16:16 +0000)
commit05aa9f4cbd0c673077319b6182f776f3cb9567b8
treeb9e92cf78842f8c2b827700fca013d92af382c3d
parentf2dc4bafe210cbe466330b7a133cb666ef8e68be
LU-4721 obdclass: handle local storage init/fini properly

1) In local_oid_storage_fini(), take the mutex on ls_device
   before decreasing the 'los' reference to avoid others to
   obtain the mutex earlier and freed the 'los' by race.

2) When llog init the local stroage for FID_SEQ_LLOG and
   FID_SEQ_LLOG_NAME, it should record the handlers which
   can be used to fini them to avoid releasing the handler
   which is in using by others.

3) NOT forget the llog_ctxt_put() if something wrong during
   the llog_osd_setup().

4) NOT put the object in lastid_compat_check() until all the
   usages on such object have been done.

Test-Parameters: envdefinitions=SLOW=yes,ENABLE_QUOTA=yes testlist=sanity-scrub,sanity-scrub,sanity-scrub,sanity-scrub
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: If7d9241147870e202b6a1082a398ee1c48f1a6d8
Reviewed-on: http://review.whamcloud.com/9572
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Jian Yu <jian.yu@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lustre_log.h
lustre/mdd/mdd_device.c
lustre/obdclass/llog_osd.c
lustre/obdclass/local_storage.c