lkml.org 
[lkml]   [2003]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: 2.5.70-mm7
From
Date
Am Mit, 2003-06-11 um 01.12 schrieb Shane Shrybman:

> Yeah, I got the same. The message is something like
> "ioctl cmd 2 No such address or device".

Ok, I think I found the problem.

In dm-ioctl.c in the function create this got changed:

- int minor;
+ unsigned int minor = 0;

...

- minor = (param->flags & DM_PERSISTENT_DEV_FLAG) ?
- minor(to_kdev_t(param->dev)) : -1;
+ if (param->flags & DM_PERSISTENT_DEV_FLAG)
+ minor = minor(to_kdev_t(param->dev));

So, the variable minor is 0 now instead of -1 when the device shouldn't
be persistent. That's bad because 0 is a valid minor.

And now, in dm.c in alloc_dev, called by dm_create

/* get a minor number for the dev */
- minor = (minor < 0) ? next_free_minor() : specific_minor(minor);
- if (minor < 0) {
+ r = (minor < 0) ? next_free_minor(&minor) :
specific_minor(minor);
+ if (r < 0) {

Here the minor is tested for being < 0 (which by the way can't be with
minor being unsigned, so this cleanup is bogus). The kernel always tries
to bind the new logical volume devices to the same minor, which of
course fails after the first one.

> Joe, do we need to upgrade some tools or something here?

No, because there are no new tools and the ioctl interface hasn't
changed (same dm-ioctl.h)

--
Christophe Saout <christophe@saout.de>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.030 / U:9.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site