From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Date: Tue, 02 Dec 2003 17:35:18 +0000 Subject: class_device/udev support for tapes? Message-Id: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org 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