[ENBD] enbd-2.4.32 problems
Peter T. Breuer
ptb at it.uc3m.es
Mon Jan 12 06:02:06 MST 2004
"Also sprach Peter T. Breuer:"
> "Also sprach Arne Wiebalck:"
> > On Mon, 12 Jan 2004, Arne Wiebalck wrote:
> > > I'll see if I can find out what line it is exactly ...
> >
> > it's any of the remote_ioctls around line 5493:
> >
> > remote_ioctl->convert_inplace(&cmd);
> > err = enbd_remote_ioctl(lo, cmd, arg);
>
> Have you loaded the enbd_ioctl.o module? It is now needed.
OK - that makes sense. As you can see from the code, I changed the
"media_changed" probe to send an ioctl over enbd's remote ioctl
interface to the serverside kernel, and thereby get *it* to check the
media for us.
That won't work if the enbd_ioctl module is not loaded. Unfortunately,
my two lines up above really ought to not rely on the enbd_ioctl.o
module being loaded in order to not crash! I think they ought to say
something like
if (!remote_ioctl) {
atomic_set_mask (ENBD_VALIDATED, &lo->flags);
return 1; // PTB tell kernel all is well, although we have no idea
}
remote_ioctl->convert_inplace(&cmd);
err = enbd_remote_ioctl(lo, cmd, arg);
Although perhaps somebody brave could try the effect of replying by
default the other way round. Maybe the kernel will just flush buffers
and recheck some time later.
if (!remote_ioctl) {
atomic_clear_mask (ENBD_VALIDATED, &lo->flags);
return 0; // PTB tell kernel bad news, although we have no idea
}
remote_ioctl->convert_inplace(&cmd);
err = enbd_remote_ioctl(lo, cmd, arg);
Peter
More information about the ENBD
mailing list