From 6097f9daed041572f6001f49905fac438cfe9ace Mon Sep 17 00:00:00 2001 From: Pan Liu Date: Fri, 17 Mar 2017 09:56:37 +0800 Subject: [PATCH] rbd-nbd: only set size to new_size when NBD_SET_SIZE successfully. Signed-off-by: Pan Liu --- src/tools/rbd_nbd/rbd-nbd.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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; } } } -- 2.47.3