[dm-devel] Re: [PATCH] 1/1: Device-Mapper: Remove 1024 devices limitation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jim Houston <jim.houston@xxxxxxxxxxx> wrote:
>
> On Tue, 2004-07-06 at 19:16, Andrew Morton wrote:
> Jim Houston <jim.houston@xxxxxxxxxxx> wrote:
> > >
> > > With out the test above an id beyond the allocated space will alias
> > > to one that exists.  Perhaps the highest id currently allocated is 
> > > 100, there will be two layers in the radix tree and the while loop
> > > above will only look at the 10 least significant bits.  If you call
> > > idr_find with 1025 it will return the pointer associated with id 1.
> > 
> > OK.
> > 
> > > The patch I sent was against linux-2.6.7, so I missed the change to
> > > MAX_ID_SHIFT.
> > 
> > How about this?
> >  
> >  	n = idp->layers * IDR_BITS;
> > +	if (id >= (1 << n))
> > +		return NULL;
> > +
> >  	p = idp->top;
> > +
> >  	/* Mask off upper bits we don't use for the search. */
> >  	id &= MAX_ID_MASK;
> >  
> 
> Hi Andrew,
> 
> It's not quite right.  If you want to keep a count in the upper bits
> you have to mask off that count before checking if the id is beyond the
> end of the allocated space.

OK, I'll fix that up.

But I don't want to keep a count in the upper bits!  I want rid of that
stuff altogether, completely, all of it.  It just keeps on hanging around :(

We should remove MAX_ID_* from the kernel altogether.

[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux