|
@@ -4078,8 +4078,13 @@ static u64 rbd_v2_snap_id_by_name(struct rbd_device *rbd_dev, const char *name)
|
|
|
|
|
|
snap_id = snapc->snaps[which];
|
|
|
snap_name = rbd_dev_v2_snap_name(rbd_dev, snap_id);
|
|
|
- if (IS_ERR(snap_name))
|
|
|
- break;
|
|
|
+ if (IS_ERR(snap_name)) {
|
|
|
+ /* ignore no-longer existing snapshots */
|
|
|
+ if (PTR_ERR(snap_name) == -ENOENT)
|
|
|
+ continue;
|
|
|
+ else
|
|
|
+ break;
|
|
|
+ }
|
|
|
found = !strcmp(name, snap_name);
|
|
|
kfree(snap_name);
|
|
|
}
|