Bug #47287
openrbd_snap_get_timestamp() hits an assert if non-existing snap ID is supplied
0%
Description
rbd_snap_get_timestamp() hits an assert if the snap ID which is passed in the arguments does not exist.
Instead of hitting an assert it should return an errno like ENOENT or something.
/home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos7/DIST/centos7/MACHINE_SIZE/gigantic/release
/14.2.10/rpm/el7/BUILD/ceph-14.2.10/src/librbd/internal.cc: In function 'int librbd::snap_get_timestamp(librbd::ImageCtx*, uint64_t, timespec*)' t
hread 7f42677fe700 time 2020-09-03 13:18:08.424902
/home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos7/DIST/centos7/MACHINE_SIZE/gigantic/release
/14.2.10/rpm/el7/BUILD/ceph-14.2.10/src/librbd/internal.cc: 1293: FAILED ceph_assert(snap_it != ictx->snap_info.end())
ceph version 14.2.10 (b340acf629a010a74d90da5782a2c5fe0b54ac20) nautilus (stable)
1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x14a) [0x7f42c63cf2d5]
2: (()+0x25449d) [0x7f42c63cf49d]
3: (()+0xdb7a3) [0x7f42cf96d7a3]
4: (rbd_snap_get_timestamp()+0x2a) [0x7f42cf9181ea]
5: (_cgo_71e85b333eef_Cfunc_rbd_snap_get_timestamp()+0x1f) [0x70610f]
6: /tmp/go-build401349109/b001/rbd.test() [0x46da50]
SIGABRT: abort
PC=0x7f42cef96387 m=7 sigcode=18446744073709551610