From 890f223c5f8f92b086d757ff545f45ea165b7a91 Mon Sep 17 00:00:00 2001 From: Emoly Liu Date: Fri, 29 Mar 2013 01:15:23 +0800 Subject: [PATCH 1/1] LU-3133 lfsck: remove objects from OST In lfsck test, remove_objects() should remove objects from OST, just like remove_files() removes files from MDT. Test-Parameters: testlist=lfsck Signed-off-by: Liu Ying Change-Id: I826bea7c780de275c1890e920deb3c8e8e942c53 Reviewed-on: http://review.whamcloud.com/5981 Reviewed-by: Niu Yawei Tested-by: Hudson Reviewed-by: Andreas Dilger Tested-by: Maloo --- lustre/tests/lfsck.sh | 28 +++------------------------- lustre/tests/test-framework.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/lustre/tests/lfsck.sh b/lustre/tests/lfsck.sh index 9e08e0b..88aa5bd 100644 --- a/lustre/tests/lfsck.sh +++ b/lustre/tests/lfsck.sh @@ -161,7 +161,7 @@ get_files() { esac local files="" - local f + local f for f in $(seq -f testfile.%g $first $last); do test_file=$test_dir/$f files="$files $test_file" @@ -172,29 +172,7 @@ get_files() { # Remove objects associated with files. remove_objects() { - local ostdev=$1 - shift - local group=$1 - shift - local objids="$@" - local facet=ost$((OSTIDX + 1)) - local mntpt=$(facet_mntpt $facet) - local opts=$OST_MOUNT_OPTS - local i - local rc - - echo "removing objects from $ostdev on $facet: $objids" - if ! do_facet $facet test -b $ostdev; then - opts=$(csa_add "$opts" -o loop) - fi - mount -t $(facet_fstype $facet) $opts $ostdev $mntpt || - return $? - rc=0; - for i in $objids; do - rm $mntpt/O/$group/d$((i % 32))/$i || { rc=$?; break; } - done - umount -f $mntpt || return $? - return $rc + do_rpc_nodes $1 remove_ost_objects $@ } # Remove files from MDS. @@ -240,7 +218,7 @@ if is_empty_fs $MOUNT; then # remove objects associated with files in group $OBJGRP # on the OST with index $OSTIDX - remove_objects $OSTDEV $OBJGRP $OST_REMOVE || + remove_objects $OSTNODE $OSTDEV $OBJGRP $OST_REMOVE || error "removing objects failed" # remove files from MDS diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index ef5d9fa..afc2488 100644 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -5917,6 +5917,34 @@ run_llverfs() llverfs $partial_arg $llverfs_opts $dir } +#Remove objects from OST +remove_ost_objects() { + shift + local ostdev=$1 + local group=$2 + shift 2 + local objids="$@" + local facet=ost$((OSTIDX + 1)) + local mntpt=$(facet_mntpt $facet) + local opts=$OST_MOUNT_OPTS + local i + local rc + + echo "removing objects from $ostdev on $facet: $objids" + if ! do_facet $facet test -b $ostdev; then + opts=$(csa_add "$opts" -o loop) + fi + mount -t $(facet_fstype $facet) $opts $ostdev $mntpt || + return $? + rc=0; + for i in $objids; do + rm $mntpt/O/$group/d$((i % 32))/$i || { rc=$?; break; } + done + umount -f $mntpt || return $? + return $rc +} + +#Remove files from MDT remove_mdt_files() { local facet=$1 local mdtdev=$2 -- 1.8.3.1