On Fri, Apr 08, 2011 at 11:07:41PM +0900, Nao Nishijima wrote: > Hi, > > (2011/04/06 1:14), Greg KH wrote: > > On Tue, Apr 05, 2011 at 09:49:46PM +0900, Nao Nishijima wrote: > >> This patch series provides a SCSI option for persistent device > >> names in kernel. With this option, user can always assign a > >> same device name (e.g. sda) to a specific device according to > >> udev rules and device id. > >> > >> Issue: > >> Recently, kernel registers block devices in parallel. As a result, > >> different device names will be assigned at each boot time. This > >> will confuse file-system mounter, thus we usually use persistent > >> symbolic links provided by udev. However, dmesg and procfs outputs > >> show device names instead of the symbolic link names. This causes > >> a serious problem when managing multiple devices (e.g. on a > >> large-scale storage), because usually, device errors are output > >> with device names on dmesg. We also concern about some commands > >> which output device names, as well as kernel messages. > >> > >> Solution: > >> To assign a persistent device name, I create unnamed devices (not > >> a block device, but an intermediate device. users cannot read/write > >> this device). When scsi device driver finds a LU, the LU is registered > >> as an unnamed device and inform to udev. After udev finds the unnamed > >> device, udev assigns a persistent device name to a specific device > >> according to udev rules and registers it as a block device. Hence, > >> this is just a naming, not a renaming. > >> > >> Some users are satisfied with current udev solution. Therefore, my > >> proposal is implemented as an option. > >> > >> If using this option, add the following kernel parameter. > >> > >> scsi_mod.persistent_name=1 > >> > >> Also, if you want to assign a device name with sda, add the > >> following udev rules. > >> > >> SUBSYSTEM=="scsi_unnamed", ATTR{disk_id}=="xxx", PROGRAM="/bin/sh > >> -c 'echo -n sda > /sys/%p/disk_name'" > > > > Also, where is the "real" program you have created to properly name > > devices from userspace? You need that to properly test this patch, > > right? > > > > In the udev rule described above, notation âxxxâ indicated by > ATTR(disk_id) is scsi id given by disk. Then, when udev finds this rule, > "/bin/sh -c 'echo -n sda> /sys/%p/disk_name'" indicated by PROGRAM is > operated using xxx (scsi id) if udev find the disk with scic id xxx. > Thus, persistent device name is assigned. > > I have tested this patch using the udev rule. and It works well. That's nice, but it's a "toy". What have you used to test this with 20000 scsi devices to properly work like it does today? Where is the program that will name them in a deterministic manner? We have that functionality today, you can't break it. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html