Whamcloud - gitweb
LU-2824 mds: do not deactivate OSC if osc_create returns -EBUSY 1.8.9-wc1 v1_8_9_WC1 v1_8_9_WC1_RC2
authorJian Yu <jian.yu@intel.com>
Sun, 17 Feb 2013 11:03:15 +0000 (19:03 +0800)
committerJohann Lombardi <johann.lombardi@intel.com>
Tue, 19 Feb 2013 09:54:24 +0000 (04:54 -0500)
commitdaf84a7f8eb76356285b7af5d88fb9e5e73335d3
tree115a28ad62a88d10d08609f6ecf1724f03178d2f
parent8add7b00d42ec5b5b366063c5634ec7a9ea059da
LU-2824 mds: do not 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=21600 \
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: Jian Yu <jian.yu@intel.com>
Change-Id: I7e04648524714999bbd72d730d1d618239b630e6
Reviewed-on: http://review.whamcloud.com/5450
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Tested-by: Hudson
lustre/mds/mds_lov.c