From: Mykola Golub Date: Mon, 25 Mar 2019 07:38:53 +0000 (+0000) Subject: librbd: trash move return EBUSY instead of EINVAL for migrating image X-Git-Tag: v14.2.1~33^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=509a99a71ee9c0e50aec1c8f6595740aa1ee16e2;p=ceph.git librbd: trash move return EBUSY instead of EINVAL for migrating image Fixes: https://tracker.ceph.com/issues/38895 Signed-off-by: Mykola Golub (cherry picked from commit d5b52eaef3626730002792b782cba2db50680d8d) --- diff --git a/src/librbd/api/Trash.cc b/src/librbd/api/Trash.cc index b4bbb05054c7..79f7bdfa4c5b 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 b87caec6dd32..f94824aadb1d 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()));