From: Pan Liu Date: Fri, 17 Mar 2017 01:56:37 +0000 (+0800) Subject: rbd-nbd: only set size to new_size when NBD_SET_SIZE successfully. X-Git-Tag: v12.0.1~48^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6097f9daed041572f6001f49905fac438cfe9ace;p=ceph.git rbd-nbd: only set size to new_size when NBD_SET_SIZE successfully. Signed-off-by: Pan Liu --- diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc index c16df03e23a9..4960e805d3f0 100644 --- a/src/tools/rbd_nbd/rbd-nbd.cc +++ b/src/tools/rbd_nbd/rbd-nbd.cc @@ -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; } } }