[ENBD] Problem with enbd 2.2.27
Peter T. Breuer
ptb@it.uc3m.es
Sat, 23 Sep 2000 13:41:10 +0200 (MET DST)
"A month of sundays ago Richard Sharpe wrote:"
> At 12:47 PM 9/23/00 +0200, you wrote:
> >This however is not expected. I would guess that the failed kmalloc returned
> >4 instead of 0. You should be able to disable the line in the code that does
> >the kmalloc. Try again with it turned off by you (it's expecting a return
> >of zero to indicate failure, and it will continue without the bitmap).
>
> OK, I added an explicit test for the return of kmalloc being <=4 and set it
> to NULL, and now things work.
This is extremely strange. What kernel are you using? I don't think kmallocs
should be returning '4' as an error return! It almost sounds like a 2.4.0testX
strangeness. There are other strangenesses in that kernel. (I haven't got
the driver code fully working on 2.4.0t1, which is all I have).
> I also added -DSMP and -D__SMP__ and will check this out again later and
> remove these to see what goes on.
>
> I want to run enbd against a 17GB partition, will that work?
In principle, yes, although I don't have a 17GB partition to test it on ....
Make sure that you compile with -D_LARGEFILE64_SOURCE or whatever the magic
userland incantation is.
> I have two SMP machines, each with a RAID controller, but I want to mirror
> the RAID set across the network, and then build a file system on it.
>
> Lastly, why can't the kernel allocate more than 1MB?
As I recall, one has to use a different call. Maybe they've been unified,
though, in which case, yes it is strange. The debugging bitmap uses 2
bits per sector (or block, I forget). That would be one byte per 2K or
1byte per 4K (or ...). So 17GB would be 256K*17, approx.
Peter