From: songweibin Date: Fri, 31 Aug 2018 07:41:52 +0000 (+0800) Subject: rbd: fix error import when the input is a pipe X-Git-Tag: v12.2.9~109^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0a2ea859565e6e437590c25d9c88f738c5c2376f;p=ceph.git rbd: fix error import when the input is a pipe Fixes: http://tracker.ceph.com/issues/34536 Signed-off-by: songweibin (cherry picked from commit 3168d21629eb4d33f95dbd9399225e3e3817dc4f) --- diff --git a/src/tools/rbd/action/Import.cc b/src/tools/rbd/action/Import.cc index b7ab85d7825..8a024d336c9 100644 --- a/src/tools/rbd/action/Import.cc +++ b/src/tools/rbd/action/Import.cc @@ -639,7 +639,7 @@ static int decode_imagemeta(int fd, uint64_t length, std::map* imagemetas) { // There is no header in v1 image. @@ -647,10 +647,6 @@ static int do_import_header(int fd, int import_format, uint64_t &size, librbd::I return 0; } - if (fd == STDIN_FILENO || size < utils::RBD_IMAGE_BANNER_V2.size()) { - return -EINVAL; - } - int r; r = validate_banner(fd, utils::RBD_IMAGE_BANNER_V2); if (r < 0) { @@ -885,7 +881,7 @@ static int do_import(librados::Rados &rados, librbd::RBD &rbd, #endif } - r = do_import_header(fd, import_format, size, opts, &imagemetas); + r = do_import_header(fd, import_format, opts, &imagemetas); if (r < 0) { std::cerr << "rbd: import header failed." << std::endl; goto done;