]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librbd: trash move return EBUSY instead of EINVAL for migrating image 27475/head
authorMykola Golub <mgolub@suse.com>
Mon, 25 Mar 2019 07:38:53 +0000 (07:38 +0000)
committerPrashant D <pdhange@redhat.com>
Wed, 10 Apr 2019 01:10:29 +0000 (21:10 -0400)
Fixes: https://tracker.ceph.com/issues/38895
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit d5b52eaef3626730002792b782cba2db50680d8d)

src/librbd/api/Trash.cc
src/test/librbd/test_librbd.cc

index b4bbb05054c7bcfd9a4eeadedf3b7df3990e638f..79f7bdfa4c5bfbbfe96c0099e17829aa78465214 100644 (file)
@@ -159,7 +159,7 @@ int Trash<I>::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();
 
index b87caec6dd3206e69c6cf3041f5872d119d8baaa..f94824aadb1df9044878681643e448519745878a 100644 (file)
@@ -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()));