Whamcloud - gitweb
LU-4721 obdclass: handle local storage init/fini properly 73/9573/3
authorFan Yong <fan.yong@intel.com>
Tue, 25 Feb 2014 18:43:26 +0000 (02:43 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 21 Mar 2014 13:57:48 +0000 (13:57 +0000)
commit8a1e06a0ee375f5452a42466c9ac3355db383f90
tree3824bd8dbe8bda2fb44bacc2235c681a7685bc1e
parentc07367651776c7534e1de613a5165cf710f3f28e
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: Ibf139cf9783d06276a6c0ed764c40dec6e3f70cb
Reviewed-on: http://review.whamcloud.com/9573
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