From d5b52eaef3626730002792b782cba2db50680d8d Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Mon, 25 Mar 2019 07:38:53 +0000 Subject: [PATCH] librbd: trash move return EBUSY instead of EINVAL for migrating image Fixes: https://tracker.ceph.com/issues/38895 Signed-off-by: Mykola Golub --- src/librbd/api/Trash.cc | 2 +- src/test/librbd/test_librbd.cc | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/librbd/api/Trash.cc b/src/librbd/api/Trash.cc index b4bbb05054c7b..79f7bdfa4c5bf 100644 --- a/src/librbd/api/Trash.cc +++ b/src/librbd/api/Trash.cc @@ -159,7 +159,7 @@ int Trash::move(librados::IoCtx &io_ctx, rbd_trash_image_source_t source, lderr(cct) << "cannot move migrating image to trash" << dendl; ictx->snap_lock.put_read(); ictx->state->close(); - return -EINVAL; + return -EBUSY; } ictx->snap_lock.put_read(); diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc index 8b57451f2adf5..c39bb9c7a792a 100644 --- a/src/test/librbd/test_librbd.cc +++ b/src/test/librbd/test_librbd.cc @@ -7207,7 +7207,7 @@ TEST_F(TestLibRBD, Migration) { rbd_migration_status_cleanup(&status); ASSERT_EQ(-EBUSY, rbd_remove(ioctx, name.c_str())); - ASSERT_EQ(-EINVAL, rbd_trash_move(ioctx, name.c_str(), 0)); + ASSERT_EQ(-EBUSY, rbd_trash_move(ioctx, name.c_str(), 0)); ASSERT_EQ(0, rbd_migration_execute(ioctx, name.c_str())); @@ -7224,7 +7224,7 @@ TEST_F(TestLibRBD, Migration) { new_name.c_str(), image_options)); ASSERT_EQ(-EBUSY, rbd_remove(ioctx, new_name.c_str())); - ASSERT_EQ(-EINVAL, rbd_trash_move(ioctx, new_name.c_str(), 0)); + ASSERT_EQ(-EBUSY, rbd_trash_move(ioctx, new_name.c_str(), 0)); ASSERT_EQ(0, rbd_migration_abort(ioctx, name.c_str())); @@ -7270,7 +7270,7 @@ TEST_F(TestLibRBD, MigrationPP) { ASSERT_EQ(status.state, RBD_IMAGE_MIGRATION_STATE_PREPARED); ASSERT_EQ(-EBUSY, rbd.remove(ioctx, name.c_str())); - ASSERT_EQ(-EINVAL, rbd.trash_move(ioctx, name.c_str(), 0)); + ASSERT_EQ(-EBUSY, rbd.trash_move(ioctx, name.c_str(), 0)); ASSERT_EQ(0, rbd.migration_execute(ioctx, name.c_str())); @@ -7286,7 +7286,7 @@ TEST_F(TestLibRBD, MigrationPP) { new_name.c_str(), image_options)); ASSERT_EQ(-EBUSY, rbd.remove(ioctx, new_name.c_str())); - ASSERT_EQ(-EINVAL, rbd.trash_move(ioctx, new_name.c_str(), 0)); + ASSERT_EQ(-EBUSY, rbd.trash_move(ioctx, new_name.c_str(), 0)); ASSERT_EQ(0, rbd.migration_abort(ioctx, name.c_str())); -- 2.39.5