[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