TGTPOOL_STEP=2
TGTPOOL_LIST=`seq $TGTPOOL_FIRST $TGTPOOL_STEP $TGTPOOL_MAX`
POOL_ROOT=${POOL_ROOT:-$DIR/d200.pools}
-POOL_DIR=$POOL_ROOT/dir_tst
+POOL_DIR_NAME=dir_tst
+POOL_DIR=$POOL_ROOT/$POOL_DIR_NAME
POOL_FILE=$POOL_ROOT/file_tst
check_file_in_pool()
mkdir -p $POOL_DIR
$SETSTRIPE -c 2 -p $POOL $POOL_DIR
[ $? = 0 ] || error "Cannot set pool $POOL to $POOL_DIR"
+ # b-19919 test relative path works well
+ mkdir -p $POOL_DIR/$POOL_DIR_NAME
+ cd $POOL_DIR
+ $SETSTRIPE -c 2 -p $POOL $POOL_DIR_NAME
+ [ $? = 0 ] || error "Cannot set pool $POOL to $POOL_DIR/$POOL_DIR_NAME"
+ $SETSTRIPE -c 2 -p $POOL ./$POOL_DIR_NAME
+ [ $? = 0 ] || error "Cannot set pool $POOL to $POOL_DIR/./$POOL_DIR_NAME"
+ $SETSTRIPE -c 2 -p $POOL ../$POOL_DIR_NAME
+ [ $? = 0 ] || error "Cannot set pool $POOL to $POOL_DIR/../$POOL_DIR_NAME"
+ $SETSTRIPE -c 2 -p $POOL ../$POOL_DIR_NAME/$POOL_DIR_NAME
+ [ $? = 0 ] || error "Cannot set pool $POOL to $POOL_DIR/../$POOL_DIR_NAME/$POOL_DIR_NAME"
+ rm -rf $POOL_DIR_NAME; cd -
}
run_test 200c "Set pool on a directory ================================="
/* Given a path, find the corresponding Lustre fsname */
int llapi_search_fsname(const char *pathname, char *fsname)
{
+ char *path = (char*)pathname, buf[PATH_MAX + 1];
+
+ if (pathname[0] != '/') { /* Need a absolute path */
+ memset(buf, '\0', sizeof(buf));
+ if (realpath(pathname, buf) == NULL) {
+ llapi_err(LLAPI_MSG_ERROR, "pathname '%s' cannot expand",
+ pathname);
+ return -EINVAL;
+ }
+ path = buf;
+ }
return get_root_path(WANT_FSNAME | WANT_ERROR, fsname, NULL,
- (char *)pathname, -1);
+ path, -1);
}
/* return the first file matching this pattern */