Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3767f0f authored by Ilya Dryomov's avatar Ilya Dryomov
Browse files

rbd: report unsupported features to syslog



... instead of just returning an error.

Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
Reviewed-by: default avatarJosh Durgin <jdurgin@redhat.com>
parent 811c6688
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -4183,7 +4183,7 @@ static int _rbd_dev_v2_snap_features(struct rbd_device *rbd_dev, u64 snap_id,
		__le64 features;
		__le64 incompat;
	} __attribute__ ((packed)) features_buf = { 0 };
	u64 incompat;
	u64 unsup;
	int ret;

	ret = rbd_obj_method_sync(rbd_dev, rbd_dev->header_name,
@@ -4196,9 +4196,12 @@ static int _rbd_dev_v2_snap_features(struct rbd_device *rbd_dev, u64 snap_id,
	if (ret < sizeof (features_buf))
		return -ERANGE;

	incompat = le64_to_cpu(features_buf.incompat);
	if (incompat & ~RBD_FEATURES_SUPPORTED)
	unsup = le64_to_cpu(features_buf.incompat) & ~RBD_FEATURES_SUPPORTED;
	if (unsup) {
		rbd_warn(rbd_dev, "image uses unsupported features: 0x%llx",
			 unsup);
		return -ENXIO;
	}

	*snap_features = le64_to_cpu(features_buf.features);