From 98ec90dd316054904f054e3cf88ae0ba8e54a2dd 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. Lustre-change: https://review.whamcloud.com/34069 Lustre-commit: 51c449b73994f2bba98ee27ac77f90c9aa846e88 Change-Id: I3d27f112b0d013ac923c5d250b296b5528b8112d Signed-off-by: Alex Zhuravlev Reviewed-by: Andreas Dilger Reviewed-by: Lai Siyao Reviewed-by: Oleg Drokin Signed-off-by: Minh Diep Reviewed-on: https://review.whamcloud.com/34267 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Patrick Farrell --- lustre/osd-zfs/osd_handler.c | 10 ++++++++++ lustre/tests/replay-single.sh | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lustre/osd-zfs/osd_handler.c b/lustre/osd-zfs/osd_handler.c index 82f2e05..713ec9b 100644 --- a/lustre/osd-zfs/osd_handler.c +++ b/lustre/osd-zfs/osd_handler.c @@ -1453,6 +1453,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 ef10db5..a4c2874 100755 --- a/lustre/tests/replay-single.sh +++ b/lustre/tests/replay-single.sh @@ -29,9 +29,14 @@ ALWAYS_EXCEPT="$REPLAY_SINGLE_EXCEPT 61d" # 7.5 (min)" [ "$SLOW" = "no" ] && EXCEPT_SLOW="44b" -[ $(facet_fstype $SINGLEMDS) = "zfs" ] && -# bug number for skipped test: LU-1867 LU-3127 +if [ $(facet_fstype $SINGLEMDS) = "zfs" ]; then + # bug number for skipped test: LU-1867 LU-3127 ALWAYS_EXCEPT="$ALWAYS_EXCEPT 89 73b" + if [ $MDSCOUNT -gt 1 ]; then + # bug number for skipped test: LU-11330 + ALWAYS_EXCEPT+=" 70d" + fi +fi build_test_filter -- 1.8.3.1