From 51c449b73994f2bba98ee27ac77f90c9aa846e88 Mon Sep 17 00:00:00 2001 From: Alex Zhuravlev Date: Sun, 20 Jan 2019 08:38:26 +0300 Subject: [PATCH] LU-10143 osd-zfs: allocate sequence in advance on the controller, so that we have it ready before any potential read-only makeup. this is what osd-ldiskfs is doing already. Change-Id: I3d27f112b0d013ac923c5d250b296b5528b8112d Signed-off-by: Alex Zhuravlev Reviewed-on: https://review.whamcloud.com/34069 Reviewed-by: Andreas Dilger Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Lai Siyao Reviewed-by: Oleg Drokin --- lustre/osd-zfs/osd_handler.c | 10 ++++++++++ lustre/tests/replay-single.sh | 8 ++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lustre/osd-zfs/osd_handler.c b/lustre/osd-zfs/osd_handler.c index dec2abf..c7d890b 100644 --- a/lustre/osd-zfs/osd_handler.c +++ b/lustre/osd-zfs/osd_handler.c @@ -1521,6 +1521,16 @@ static int osd_fid_init(const struct lu_env *env, struct osd_device *osd) osd->od_cl_seq = NULL; } + if (ss->ss_node_id == 0) { + /* + * If the OSD on the sequence controller(MDT0), then allocate + * sequence here, otherwise allocate sequence after connected + * to MDT0 (see mdt_register_lwp_callback()). + */ + rc = seq_server_alloc_meta(osd->od_cl_seq->lcs_srv, + &osd->od_cl_seq->lcs_space, env); + } + RETURN(rc); } diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh index 8b3810c..232ba70 100755 --- a/lustre/tests/replay-single.sh +++ b/lustre/tests/replay-single.sh @@ -31,10 +31,10 @@ ALWAYS_EXCEPT="$REPLAY_SINGLE_EXCEPT " if [ $(facet_fstype $SINGLEMDS) = "zfs" ]; then # bug number for skipped test: LU-11388 ALWAYS_EXCEPT+="131b" - if [ $MDSCOUNT -gt 1 ]; then -# bug number for skipped test: LU-10740 LU-11330 LU-9157 LU-11336 - ALWAYS_EXCEPT+=" 2d 70d 80c 80d" - fi + if [ $MDSCOUNT -gt 1 ]; then +# bug number for skipped test: LU-11330 + ALWAYS_EXCEPT+=" 70d" + fi fi if $SHARED_KEY; then # bug number for skipped tests: LU-9795 (all below) -- 1.8.3.1