]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rbd-nbd: only set size to new_size when NBD_SET_SIZE successfully. 14005/head
authorPan Liu <liupan1111@gmail.com>
Fri, 17 Mar 2017 01:56:37 +0000 (09:56 +0800)
committerPan Liu <liupan1111@gmail.com>
Fri, 17 Mar 2017 01:56:37 +0000 (09:56 +0800)
Signed-off-by: Pan Liu <liupan1111@gmail.com>
src/tools/rbd_nbd/rbd-nbd.cc

index c16df03e23a986cfbf25091bc0948a3f4070eb45..4960e805d3f0cecaf7255b4002cc03ca35e3ea9c 100644 (file)
@@ -440,11 +440,13 @@ public:
       if (new_size != size) {
         if (ioctl(fd, BLKFLSBUF, NULL) < 0)
             derr << "invalidate page cache failed: " << cpp_strerror(errno) << dendl;
-        if (ioctl(fd, NBD_SET_SIZE, new_size) < 0)
+        if (ioctl(fd, NBD_SET_SIZE, new_size) < 0) {
             derr << "resize failed: " << cpp_strerror(errno) << dendl;
+        } else {
+          size = new_size;
+        }
         if (image.invalidate_cache() < 0)
             derr << "invalidate rbd cache failed" << dendl;
-        size = new_size;
       }
     }
   }