[ENBD] 2.4.32

Peter T. Breuer ptb at it.uc3m.es
Thu Feb 5 14:36:51 MST 2004


"Also sprach Tad Kollar:"
> Done, log attached...

In summary, you are producing 512B requests from xfs through the enbd
device under a 2.6 kernel.  Congrats!

Ahhh... Definitive answer revealed in  fs/block_dev.c:

  int set_blocksize(kdev_t dev, int size)
  {
        int oldsize;
        struct block_device *bdev;

        /* Size must be a power of two, and between 512 and PAGE_SIZE */
        if (size > PAGE_SIZE || size < 512 || (size & (size-1)))
                return -EINVAL;

Fantastic. 512 is possible. Sheeesh. I always believed it had to be at
least 1024.

OK.  End of problem.  I will allow 512.  Everyone else allows 512.  If
the server device does not allow 512, that's its problem. What I want
to know is how the living heck the xfs managed to submit a request to
the enbd driver that didn't respect its announced blocksize! Are all
drivers now supposed to allow requests that they say they will not
allow? Or what?

Fine - anyway, you can make the prints go away!

Peter


More information about the ENBD mailing list