Re: LANANA: To Pending Device Number Registrants

Linus Torvalds
2001-05-15T15:11:42Z

On Tue, 15 May 2001, Alan Cox wrote:
>
> Given a file handle 'X' how do I find out what ioctl groups I should apply to
> it. So we can go from
>
> if(MAJOR(st.st_rdev) == ST_MAJOR)
> issue_scsi_ioctls
> else if(MAJOR(st.st_rdev) == FTAPE_MAJOR)
> issue_ftape_ioctls
> else ..
> else
> error

Ugh. You do this?

And you don't realize that the whole system is too broken for words?

What is the horrible app that does something like this?

The fix, I think, is to make the ioctl commands much more regular. That is
probably true in general, and fixing that would hopefully fix the need for
horrible code like the above.

That said:

> /* Use scsi if possible [scsi, ide-scsi, usb-scsi, ...] */
> if(HAS_FEATURE_SET(fd, "scsi-tape"))
> ...
> else if(HAS_FEATURE_SET(fd, "floppy-tape"))
> ..

doesn't look horrible, and I don't see why we couldn't expose the "driver
name" for any file descriptor. We already do for some: "fstatfs()" is
largely the same thing on another level.

Linus