From 890996b2a7d110699db51b0d462002c58822917b Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Fri, 1 Feb 2002 17:39:19 +0000 Subject: [PATCH] Failure signalled by -1 not 0; MAX_DEVICES 256 (was 64); change a '>' to '>='. --- kernel/common/dm.c.in | 8 ++++---- kernel/common/dm.h | 1 + lib/ioctl/libdevmapper.c | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kernel/common/dm.c.in b/kernel/common/dm.c.in index cb41b79..93bc747 100644 --- a/kernel/common/dm.c.in +++ b/kernel/common/dm.c.in @@ -12,7 +12,6 @@ /* we only need this for the lv_bmap struct definition, not happy */ #include -#define MAX_DEVICES 64 #define DEFAULT_READ_AHEAD 64 static const char *_name = DM_NAME; @@ -664,9 +663,10 @@ static int dm_user_bmap(struct inode *inode, struct lv_bmap *lvb) */ static inline int specific_dev(int minor, struct mapped_device *md) { - if (minor > MAX_DEVICES) { - DMWARN("request for a mapped_device beyond MAX_DEVICES"); - return 0; + if (minor >= MAX_DEVICES) { + DMWARN("request for a mapped_device beyond MAX_DEVICES (%d)", + MAX_DEVICES); + return -1; } down_write(_dev_locks + minor); diff --git a/kernel/common/dm.h b/kernel/common/dm.h index 29b2e6a..9840618 100644 --- a/kernel/common/dm.h +++ b/kernel/common/dm.h @@ -31,6 +31,7 @@ #define KEYS_PER_NODE (NODE_SIZE / sizeof(offset_t)) #define CHILDREN_PER_NODE (KEYS_PER_NODE + 1) #define MAX_ARGS 32 +#define MAX_DEVICES 256 /* * List of devices that a metadevice uses and should open/close. diff --git a/lib/ioctl/libdevmapper.c b/lib/ioctl/libdevmapper.c index 5c339f5..da3aec5 100644 --- a/lib/ioctl/libdevmapper.c +++ b/lib/ioctl/libdevmapper.c @@ -208,7 +208,7 @@ static struct dm_ioctl *_flatten(struct dm_task *dmt) if (dmt->read_only) dmi->flags |= DM_READONLY_FLAG; - if (dmt->minor > 0) { + if (dmt->minor >= 0) { dmi->flags |= DM_PERSISTENT_DEV_FLAG; dmi->dev = MKDEV(0, dmt->minor); } -- 2.43.5