linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: linux-hotplug@vger.kernel.org
Subject: class_device/udev support for tapes?
Date: Tue, 02 Dec 2003 17:35:18 +0000	[thread overview]
Message-ID: <marc-linux-hotplug-107038690632125@msgid-missing> (raw)

Has anyone come up with a solution for using udev for tape devices?

What is obviously needed is a device class for tapes that can be
used from (at least) the atapi, scsi and s390 tape drivers. Porting
the class driver from the tty code to tape is rather trivial but
might not be the right solution because tapes tend to have multiple
interfaces (e.g. for opening a device in rewinding and non-rewinding
mode):

ATAPI:
crw-rw----    1 root     disk      37,   0 Apr 11  2002 /dev/ht0
crw-rw----    1 root     disk      37, 128 Apr 11  2002 /dev/nht0

SCSI:
crw-rw----    1 root     disk       9,   0 Apr 11  2002 /dev/st0
crw-rw----    1 root     disk       9,  96 Apr 11  2002 /dev/st0a
crw-rw----    1 root     disk       9,  32 Apr 11  2002 /dev/st0l
crw-rw----    1 root     disk       9,  64 Apr 11  2002 /dev/st0m
crw-rw----    1 root     disk       9, 128 Apr 11  2002 /dev/nst0
crw-rw----    1 root     disk       9, 224 Apr 11  2002 /dev/nst0a
crw-rw----    1 root     disk       9, 160 Apr 11  2002 /dev/nst0l
crw-rw----    1 root     disk       9, 192 Apr 11  2002 /dev/nst0m

osst:
crw-rw----    1 root     disk     206,   0 Apr 11  2002 /dev/osst0
crw-rw----    1 root     disk     206,  32 Apr 11  2002 /dev/osst0l
crw-rw----    1 root     disk     206,  96 Apr 11  2002 /dev/osst0a
crw-rw----    1 root     disk     206,  64 Apr 11  2002 /dev/osst0m

s/390 (dynamic major):
crw-rw----    1 root     disk     254,   0 Apr 11  2002 /dev/ntibm0
crw-rw----    1 root     disk     254,   1 Apr 11  2002 /dev/rtibm0

ftape:
crw-rw----    1 root     disk      27,   0 Apr 11  2002 /dev/qft0
crw-rw----    1 root     disk      27,   0 Apr 11  2002 /dev/rft0
crw-rw----    1 root     disk      27,   4 Apr 11  2002 /dev/nqft0
crw-rw----    1 root     disk      27,   4 Apr 11  2002 /dev/nrft0
crw-rw----    1 root     disk      27,  16 Apr 11  2002 /dev/zqft0
crw-rw----    1 root     disk      27,  20 Apr 11  2002 /dev/nzqft0
crw-rw----    1 root     disk      27,  32 Apr 11  2002 /dev/rawqft0
crw-rw----    1 root     disk      27,  32 Apr 11  2002 /dev/rawrft0
crw-rw----    1 root     disk      27,  36 Apr 11  2002 /dev/nrawqft0

Unlike block devices, there is no master device with anything
similar to partitions, but all the interfaces are equal. One way
to represent them would be to create a class device without a 
dev entry and have the chardev interfaces as child kobjects of that:

/sys/class/tape/st0/st0/dev
/sys/class/tape/st0/st0a/dev
/sys/class/tape/st0/nst0/dev
/sys/class/tape/st0/device -> ../../...
/sys/class/tape/rtibm0/ntibm0/dev

This would of course be inconsistant with all the other classes.
The second option I see is naming the 'dev' attribute differently:

/sys/class/tape/st0/dev-st
/sys/class/tape/st0/dev-sta
/sys/class/tape/st0/dev-nst
/sys/class/tape/st0/device -> ../../...
/sys/class/tape/rtibm0/dev-ntibm

This is also somewhat inconsistant from udev's point of view, but not
so much from the kernel.
The third option is to simply register one class device for each logical
device:

/sys/class/tape/st0/dev
/sys/class/tape/st0/device -> ../../...
/sys/class/tape/st0a/dev
/sys/class/tape/st0a/device -> ../../...
/sys/class/tape/nst0/dev
/sys/class/tape/nst0/device -> ../../...
/sys/class/tape/rtibm0/dev

This is at least possible with the least number of changes to udev
and the view of class devices, but not as intuitive for the user.

I am totally unsure which option should be used or if there is maybe
a better way that I  failed to see.

The other question is how to best design the kernel interface for 
registering a tape class device with a variable number of chardev nodes.

	Arnd <><



-------------------------------------------------------
This SF.net email is sponsored by OSDN's Audience Survey.
Help shape OSDN's sites and tell us what you think. Take this
five minute survey and you could win a $250 Gift Certificate.
http://www.wrgsurveys.com/2003/osdntech03.php?site=8

_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

             reply	other threads:[~2003-12-02 17:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-02 17:35 Arnd Bergmann [this message]
2003-12-02 18:00 ` class_device/udev support for tapes? Greg KH
2003-12-02 20:09 ` Arnd Bergmann
2003-12-10  1:14 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-linux-hotplug-107038690632125@msgid-missing \
    --to=arnd@arndb.de \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).