Whamcloud - gitweb
LU-2824 mds: don't deactivate OSC if osc_create returns -EBUSY
authorNiu Yawei <niu@whamcloud.com>
Tue, 19 Feb 2013 02:05:04 +0000 (21:05 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 21 Feb 2013 04:25:12 +0000 (23:25 -0500)
commit176553577d326f4e4acfb2446fc0ad3d7512fe44
treeda2b56dc236ea8f3e8834c1784ed6a6898d9e6cc
parent3d63043afdbf9842ce763bcff1efa30472ec3881
LU-2824 mds: don't deactivate OSC if osc_create returns -EBUSY

During MDS<->OST orphan recovery, osc_create() will likely return
-EBUSY while OSCC_FLAG_SYNC_IN_PROGRESS flag is still set
due to slow ll_mdt service thread. The __mds_lov_synchronize() will
then deactivate the OSC, which will cause mds_create_objects() get
-EIO error.

This patch fixes the above issue by checking the return value of
mds_lov_clear_orphans(). If it's -EBUSY, then do not mark the
OSC as inactive.

Test-Parameters: envdefinitions=DURATION=14400 clientdistro=el5 serverdistro=el5 clientarch=x86_64 serverarch=x86_64 clientcount=4 osscount=2 mdscount=2 austeroptions=-R failover=true useiscsi=true testlist=recovery-mds-scale
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: I7b3376e3b6087dd35c5f0e33e98b1e538ba711fc
Reviewed-on: http://review.whamcloud.com/5462
Tested-by: Hudson
Reviewed-by: Jian Yu <jian.yu@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/mds/mds_lov.c