From: Andy P. <at...@us...> - 2002-04-09 17:08:23
|
Update of /cvsroot/linux-vax/kernel-2.4/Documentation/filesystems/devfs In directory usw-pr-cvs1:/tmp/cvs-serv7449/filesystems/devfs Modified Files: ChangeLog README ToDo boot-options Log Message: synch 2.4.15 commit 28 Index: ChangeLog =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/filesystems/devfs/ChangeLog,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- ChangeLog 14 Jan 2001 20:02:13 -0000 1.1.1.1 +++ ChangeLog 9 Apr 2002 16:55:41 -0000 1.2 @@ -495,7 +495,7 @@ - Replaced dummy .epoch inode with .devfsd character device -- Modified rc.devfs to take acount of above change +- Modified rc.devfs to take account of above change - Removed spurious driver warning messages when CONFIG_DEVFS_FS=n @@ -1613,3 +1613,168 @@ - Updated README from master HTML file - Ported to kernel 2.4.0-test3-pre4 (which had devfs-patch-v174) +=============================================================================== +Changes for patch v177 + +- Updated README from master HTML file + +- Documentation cleanups + +- Ensure <devfs_generate_path> terminates string for root entry + Thanks to Tim Jansen <ti...@tj...> + +- Exported <devfs_get_name> to modules + +- Make <devfs_mk_symlink> send events to devfsd + +- Cleaned up option processing in <devfs_setup> + +- Fixed bugs in handling symlinks: could leak or cause Oops + +- Cleaned up directory handling by separating fops + Thanks to Alexander Viro <vi...@ma...> +=============================================================================== +Changes for patch v178 + +- Fixed handling of inverted options in <devfs_setup> +=============================================================================== +Changes for patch v179 + +- Adjusted <try_modload> to account for <devfs_generate_path> fix +=============================================================================== +Changes for patch v180 + +- Fixed !CONFIG_DEVFS_FS stub declaration of <devfs_get_info> +=============================================================================== +Changes for patch v181 + +- Answered question posed by Al Viro and removed his comments from <devfs_open> + +- Moved setting of registered flag after other fields are changed + +- Fixed race between <devfsd_close> and <devfsd_notify_one> + +- Global VFS changes added bogus BKL to devfsd_close(): removed + +- Widened locking in <devfs_readlink> and <devfs_follow_link> + +- Replaced <devfsd_read> stack usage with <devfsd_ioctl> kmalloc + +- Simplified locking in <devfsd_ioctl> and fixed memory leak +=============================================================================== +Changes for patch v182 + +- Created <devfs_*alloc_major> and <devfs_*alloc_devnum> + +- Removed broken devnum allocation and use <devfs_alloc_devnum> + +- Fixed old devnum leak by calling new <devfs_dealloc_devnum> + +- Created <devfs_*alloc_unique_number> + +- Fixed number leak for /dev/cdroms/cdrom%d + +- Fixed number leak for /dev/discs/disc%d +=============================================================================== +Changes for patch v183 + +- Fixed bug in <devfs_setup> which could hang boot process +=============================================================================== +Changes for patch v184 + +- Documentation typo fix for fs/devfs/util.c + +- Fixed drivers/char/stallion.c for devfs + +- Added DEVFSD_NOTIFY_DELETE event + +- Updated README from master HTML file + +- Removed #include <asm/segment.h> from fs/devfs/base.c +=============================================================================== +Changes for patch v185 + +- Made <block_semaphore> and <char_semaphore> in fs/devfs/util.c + private + +- Fixed inode table races by removing it and using inode->u.generic_ip + instead + +- Moved <devfs_read_inode> into <get_vfs_inode> + +- Moved <devfs_write_inode> into <devfs_notify_change> +=============================================================================== +Changes for patch v186 + +- Fixed race in <devfs_do_symlink> for uni-processor + +- Updated README from master HTML file +=============================================================================== +Changes for patch v187 + +- Fixed drivers/char/stallion.c for devfs + +- Fixed drivers/char/rocket.c for devfs + +- Fixed bug in <devfs_alloc_unique_number>: limited to 128 numbers +=============================================================================== +Changes for patch v188 + +- Updated major masks in fs/devfs/util.c up to Linus' "no new majors" + proclamation. Block: were 126 now 122 free, char: were 26 now 19 free + +- Updated README from master HTML file + +- Removed remnant of multi-mount support in <devfs_mknod> + +- Removed unused DEVFS_FL_SHOW_UNREG flag +=============================================================================== +Changes for patch v189 + +- Removed nlink field from struct devfs_inode + +- Removed auto-ownership for /dev/pty/* (BSD ptys) and used + DEVFS_FL_CURRENT_OWNER|DEVFS_FL_NO_PERSISTENCE for /dev/pty/s* (just + like Unix98 pty slaves) and made /dev/pty/m* rw-rw-rw- access +=============================================================================== +Changes for patch v190 + +- Updated README from master HTML file + +- Replaced BKL with global rwsem to protect symlink data (quick and + dirty hack) +=============================================================================== +Changes for patch v191 + +- Replaced global rwsem for symlink with per-link refcount +=============================================================================== +Changes for patch v192 + +- Removed unnecessary #ifdef CONFIG_DEVFS_FS from arch/i386/kernel/mtrr.c + +- Ported to kernel 2.4.10-pre11 + +- Set inode->i_mapping->a_ops for block nodes in <get_vfs_inode> +=============================================================================== +Changes for patch v193 + +- Went back to global rwsem for symlinks (refcount scheme no good) +=============================================================================== +Changes for patch v194 + +- Fixed overrun in <devfs_link> by removing function (not needed) + +- Updated README from master HTML file +=============================================================================== +Changes for patch v195 + +- Fixed buffer underrun in <try_modload> + +- Moved down_read() from <search_for_entry_in_dir> to <find_entry> +=============================================================================== +Changes for patch v196 + +- Fixed race in <devfsd_ioctl> when setting event mask + Thanks to Kari Hurtta <hu...@le...> + +- Avoid deadlock in <devfs_follow_link> by using temporary buffer Index: README =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/filesystems/devfs/README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- README 14 Jan 2001 20:02:20 -0000 1.1.1.1 +++ README 9 Apr 2002 16:55:41 -0000 1.2 @@ -3,7 +3,7 @@ Linux Devfs (Device File System) FAQ Richard Gooch -3-JUL-2000 +29-SEP-2001 ----------------------------------------------------------------------------- @@ -18,17 +18,14 @@ http://www.atnf.csiro.au/~rgooch/linux/ -NEWFLASH: The official 2.3.46 kernel has -included the devfs patch. Future patches will be released which -build on this. These patches are rolled into Linus' tree from time to -time. - A mailing list is available which you may subscribe to. Send email to maj...@os... with the following line in the body of the message: subscribe devfs -The list is archived at +To unsubscribe, send the message body: +unsubscribe devfs +instead. The list is archived at http://oss.sgi.com/projects/devfs/archive/. @@ -54,6 +51,7 @@ Other Issues Kernel Naming Scheme Devfsd Naming Scheme +Old Compatibility Names SCSI Host Probing Issues @@ -70,6 +68,8 @@ Other resources +Translations of this document + ----------------------------------------------------------------------------- @@ -81,7 +81,7 @@ name rather than major and minor numbers. These devices will appear in devfs automatically, with whatever default ownership and protection the driver specified. A daemon (devfsd) can be used to -override these defaults. +override these defaults. Devfs has been in the kernel since 2.3.46. NOTE that devfs is entirely optional. If you prefer the old disc-based device nodes, then simply leave CONFIG_DEVFS_FS=n (the @@ -99,6 +99,7 @@ can easily mount the root filesystem by referring to an entry in the devfs namespace. + The cost of devfs is a small increase in kernel code size and memory usage. About 7 pages of code (some of that in __init sections) and 72 bytes for each entry in the namespace. A modest system has only a @@ -157,6 +158,7 @@ of nodes. This means that changes in the kernel must be reflected by changes in the MAKEDEV programme, or else the system administrator creates device nodes by hand. + The basic problem is that there are two separate databases of major and minor numbers. One is in the kernel and one is in /dev (or in a MAKEDEV programme, if you want to look at it that way). This is @@ -192,6 +194,7 @@ 256 kBytes of /dev inodes, but you could argue that embedded systems would have hand-tuned /dev directories. I've had to do just that on my embedded systems, but I would rather just leave it to devfs. + Another issue is the time taken to lookup an inode when first referenced. Not only does this take time in scanning through a list in memory, but also the seek times to read the inodes off disc. @@ -212,7 +215,7 @@ likely be implemented in an ad-hoc fashion, as different drivers will provide their information in different ways. -Devfs is much cleaner, because it (natually) has a uniform mechanism +Devfs is much cleaner, because it (naturally) has a uniform mechanism to provide this information: the device nodes themselves! @@ -253,7 +256,7 @@ But why do that search at all if you don't have to? Once again, it seems pointless. -Note thate devfs doesn't use the major&minor system. For devfs +Note that devfs doesn't use the major&minor system. For devfs entries, the connection is done when you lookup the /dev entry. When devfs_register() is called, an internal table is appended which has the entry name and the file_operations. If the dentry cache doesn't @@ -274,9 +277,9 @@ /dev as a system administration tool Right now /dev contains a list of conceivable devices, most of which I -don't have. A devfs would only show those devices available on my -system. This means that listing /dev would be a handy way of checking -what devices were available. +don't have. Devfs only shows those devices available on my +system. This means that listing /dev is a handy way of checking what +devices are available. Major&minor size @@ -289,9 +292,9 @@ each device entry, which can be used to give an effective 32 bit device identifier (i.e. that's like having a 32 bit minor number). Since this is private to the kernel, there are no C library -compatibility which you would have with increasing major and minor -number sizes. See the section on "Allocation of Device Numbers" for -details on maintaining compatibility with userspace. +compatibility issues which you would have with increasing major and +minor number sizes. See the section on "Allocation of Device Numbers" +for details on maintaining compatibility with userspace. Solving this requires a kernel change. @@ -375,9 +378,9 @@ devfsd on any event, such as registration/unregistration of device entries, opening and closing devices, looking up inodes, scanning directories and more. This has many possibilities. Some of these are -already implemented. +already implemented. See: + -See: http://www.atnf.csiro.au/~rgooch/linux/ Device entry registration events can be used by devfsd to change @@ -414,6 +417,7 @@ requests. Instead of using kmod directly, the event is sent to devfsd which can implement an arbitrary authentication before loading the module itself. + Inode lookup events can also be used to construct arbitrary namespaces, without having to resort to populating devfs with symlinks to devices that don't exist. @@ -447,10 +451,10 @@ Who else does it? -FreeBSD has a devfs implementation. Solaris 2 has a pseudo-devfs -(something akin to scsidev but for all devices, with some unspecified -kernel support). BeOS, Plan9 and QNX also have it. SGI's IRIX 6.4 and -above also have a device filesystem. +FreeBSD has a devfs implementation. Solaris and AIX each have a +pseudo-devfs (something akin to scsidev but for all devices, with some +unspecified kernel support). BeOS, Plan9 and QNX also have it. SGI's +IRIX 6.4 and above also have a device filesystem. While we shouldn't just automatically do something because others do it, we should not ignore the work of others either. FreeBSD has a lot @@ -599,6 +603,20 @@ has problems with symbolic links. Append the following lines to your /etc/securetty file: +vc/1 +vc/2 +vc/3 +vc/4 +vc/5 +vc/6 +vc/7 +vc/8 + +This will not weaken security. If you have a version of util-linux +earlier than 2.10.h, please upgrade to 2.10.h or later. If you +absolutely cannot upgrade, then also append the following lines to +your /etc/securetty file: + 1 2 3 @@ -618,7 +636,8 @@ 4.0, as patches went in to make it more devfs-friendly. If you don't, you'll probably need to apply the following patch to /etc/security/console.perms so that ordinary users can run -startx. +startx. Note that not all distributions have this file (e.g. Debian), +so if it's not present, don't worry about it. --- /etc/security/console.perms.orig Sat Apr 17 16:26:47 1999 +++ /etc/security/console.perms Fri Feb 25 23:53:55 2000 @@ -627,17 +646,25 @@ # file classes -- these are regular expressions -<console>=tty[0-9][0-9]* :[0-9]\.[0-9] :[0-9] -+<console>=tty[0-9][0-9]* [0-9][0-9]* :[0-9]\.[0-9] :[0-9] ++<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9] # device classes -- these are shell-style globs <floppy>=/dev/fd[0-1]* +If the patch does not apply, then change the line: + +<console>=tty[0-9][0-9]* :[0-9]\.[0-9] :[0-9] + +with: + +<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9] + Disable devpts I've had a report of devpts mounted on /dev/pts not working correctly. Since devfs will also manage /dev/pts, there is no need to mount devpts as well. You should either edit your -/etc/fstab so devpts is not mounted, or disable devfs from +/etc/fstab so devpts is not mounted, or disable devpts from your kernel configuration. Unsupported drivers @@ -663,16 +690,27 @@ described above. The Kernel -Finally, you need to make sure devfs is compiled into your -kernel. Set CONFIG_DEVFS_FS=y and recompile your kernel. Next, you -need to make sure devfs is mounted. The best solution is to pass -devfs=mount at the kernel boot command line. You can edit -/etc/lilo.conf and add the line: - -append = "devfs=mount" - +Finally, you need to make sure devfs is compiled into your kernel. Set +CONFIG_EXPERIMENTAL=y, CONFIG_DEVFS_FS=y and CONFIG_DEVFS_MOUNT=y by +using favourite configuration tool (i.e. make config or +make xconfig) and then make dep; make clean and then +recompile your kernel and modules. At boot, devfs will be mounted onto +/dev. -This will make the kernel mount devfs at boot time onto /dev. +If you encounter problems booting (for example if you forgot a +configuration step), you can pass devfs=nomount at the kernel +boot command line. This will prevent the kernel from mounting devfs at +boot time onto /dev. + +In general, a kernel built with CONFIG_DEVFS_FS=y but without mounting +devfs onto /dev is completely safe, and requires no +configuration changes. One exception to take note of is when +LABEL= directives are used in /etc/fstab. In this +case you will be unable to boot properly. This is because the +mount(8) programme uses /proc/partitions as part of +the volume label search process, and the device names it finds are not +available, because setting CONFIG_DEVFS_FS=y changes the names in +/proc/partitions, irrespective of whether devfs is mounted. Now you've finished all the steps required. You're now ready to boot your shiny new kernel. Enjoy. @@ -701,7 +739,7 @@ permissions. It may be configured to record changes in permissions and will save them in a database (in fact a directory tree), and restore these upon boot. This is an efficient method and results in immediate -saving of current permissions (unlike the tar approach, which save +saving of current permissions (unlike the tar approach, which saves permissions at some unspecified future time). The default configuration file supplied with devfsd has config entries @@ -745,8 +783,11 @@ + add the following lines to your /etc/devfsd.conf file: +REGISTER ^pt[sy]/.* IGNORE +CHANGE ^pt[sy]/.* IGNORE REGISTER .* COPY /dev-state/$devname $devpath CHANGE .* COPY $devpath /dev-state/$devname CREATE .* COPY $devpath /dev-state/$devname @@ -758,6 +799,26 @@ +Permissions database stored in normal directory + +If you are using an older kernel which doesn't support VFS binding, +then you won't be able to have the permissions database in a +mounted-over /dev. However, you can still use a regular +directory to store the database. The sample /etc/devfsd.conf +file above may still be used. You will need to create the +/dev-state directory prior to installing devfsd. If you have +old permissions in /dev, then just copy (or move) the device +nodes over to the new directory. + +Which method is better? + +The best method is to have the permissions database stored in the +mounted-over /dev. This is because you will not need to copy +device nodes over to /dev-state, and because it allows you to +switch between devfs and non-devfs kernels, without requiring you to +copy permissions between /dev-state (for devfs) and +/dev (for non-devfs). + Dealing with drivers without devfs support @@ -910,13 +971,48 @@ configuration file is installed, which is used by the MODLOAD action. This should be sufficient for most configurations. If you require further configuration, edit your /etc/modules.conf -file. +file. The way module autoloading work with devfs is: + + +a process attempts to lookup a device node (e.g. /dev/fred) + + +if that device node does not exist, the full pathname is passed to +devfsd as a string + + +devfsd will pass the string to the modprobe programme (provided the +configuration line shown above is present), and specifies that +/etc/modules.devfs is the configuration file + + +/etc/modules.devfs includes /etc/modules.conf to +access local configurations + +modprobe will search it's configuration files, looking for an alias +that translates the pathname into a module name + + +the translated pathname is then used to load the module. + + +If you wanted a lookup of /dev/fred to load the +mymod module, you would require the following configuration +line in /etc/modules.conf: + +alias /dev/fred mymod + +The /etc/modules.devfs configuration file provides many such +aliases for standard device names. If you look closely at this file, +you will note that some modules require multiple alias configuration +lines. This is required to support module autoloading for old and new +device names. Mounting root off a devfs device If you wish to mount root off a devfs device when you pass the -"devfs=only" boot option, then you need to pass in the "root=" -option to the kernel when booting. If you use LILO, then you must have -this in lilo.conf: +"devfs=only" boot option, then you need to pass in the +"root=<device>" option to the kernel when booting. If you use +LILO, then you must have this in lilo.conf: append = "root=<device>" @@ -926,12 +1022,12 @@ root = <device> -then LILO will determine the device number of and will write -that device number into a special place in the kernel image before -starting the kernel, and the kernel will use that device number to -mount the root filesystem. So, using the "append" variety ensures that -LILO passes the root filesystem device as a string, which devfs can -then use. +then LILO will determine the device number of <device> and will +write that device number into a special place in the kernel image +before starting the kernel, and the kernel will use that device number +to mount the root filesystem. So, using the "append" variety ensures +that LILO passes the root filesystem device as a string, which devfs +can then use. Note that this isn't an issue if you don't pass "devfs=only". @@ -953,6 +1049,13 @@ directory tree that reflects the topology of available devices. The topological tree is useful for finding how your devices are arranged. +Below is a list of the naming schemes for the most common drivers. A +list of reserved device names is +available for reference. Please send email to +r...@at... to obtain an allocation. Please be +patient (the maintainer is busy). An alternative name may be allocated +instead of the requested name, at the discretion of the maintainer. + Disc Devices All discs, whether SCSI, IDE or whatever, are placed under the @@ -1067,7 +1170,8 @@ -------- -------- ----------- /dev/tts/{0,1,...} /dev/ttyS{0,1,...} Serial ports /dev/cua/{0,1,...} /dev/cua{0,1,...} Call out devices - /dev/vc/{0,1,...} /dev/tty{1...63} Virtual consoles + /dev/vc/0 /dev/tty Current virtual console + /dev/vc/{1,2,...} /dev/tty{1...63} Virtual consoles /dev/vcc/{0,1,...} /dev/vcs{1...63} Virtual consoles /dev/pty/m{0,1,...} /dev/ptyp?? PTY masters /dev/pty/s{0,1,...} /dev/ttyp?? PTY slaves @@ -1109,7 +1213,8 @@ cases, the kernel-supplied naming scheme is quite convenient, so devfsd does not provide another naming scheme. The convenience names that devfsd creates are in fact the same names as the original devfs -kernel patch created (before Linus mandated the Big Name Change). +kernel patch created (before Linus mandated the Big Name +Change). These are referred to as "new compatibility entries". In order to configure devfsd to create these convenience names, the following lines should be placed in your /etc/devfsd.conf: @@ -1198,6 +1303,24 @@ would appear as /dev/xd/c0t0. +Old Compatibility Names + +The old compatibility names are the legacy device names, such as +/dev/hda, /dev/sda, /dev/rtc and so on. +Devfsd can be configured to create compatibility symlinks so that you +may continue to use the old names in your configuration files and so +that old applications will continue to function correctly. + +In order to configure devfsd to create these legacy names, the +following lines should be placed in your /etc/devfsd.conf: + +REGISTER .* MKOLDCOMPAT +UNREGISTER .* RMOLDCOMPAT + +This will cause devfsd to create (and destroy) symbolic links which +point to the kernel-supplied names. + + SCSI Host Probing Issues Devfs allows you to identify SCSI discs based in part on SCSI host @@ -1220,14 +1343,15 @@ means that devices connected to -- first aha1542 controller - will be c0b#t#u# -- first parallel port ZIP - will be c1b#t#u# -- second aha1542 controller - will be c2b#t#u# -- first NCR53C7xx controller - will be c4b#t#u# -- any extra controller - will be c5b#t#u#, c6b#t#u#, etc +- first aha1542 controller - will be /dev/scsi/host0/bus#/target#/lun# +- first parallel port ZIP - will be /dev/scsi/host1/bus#/target#/lun# +- second aha1542 controller - will be /dev/scsi/host2/bus#/target#/lun# +- first NCR53C7xx controller - will be /dev/scsi/host4/bus#/target#/lun# +- any extra controller - will be /dev/scsi/host5/bus#/target#/lun#, + /dev/scsi/host6/bus#/target#/lun#, etc - if any of above controllers will not be found - the reserved names will not be used by any other device. -- c3b#t#u# names will never be used +- /dev/scsi/host3/bus#/target#/lun# names will never be used You can use ',' instead of ':' as the separator character if you @@ -1343,6 +1467,7 @@ Making things work Alternatives to devfs +What I don't like about devfs @@ -1379,6 +1504,47 @@ namespace, but have had no response. +How can I test if I have devfs compiled into my kernel? + +All filesystems built-in or currently loaded are listed in +/proc/filesystems. If you see a devfs entry, then +you know that devfs was compiled into your kernel. If you have +correctly configured and rebuilt your kernel, then devfs will be +built-in. If you think you've configured it in, but +/proc/filesystems doesn't show it, you've made a mistake. +Common mistakes include: + +Using a 2.2.x kernel without applying the devfs patch (if you +don't know how to patch your kernel, use 2.4.x instead, don't bother +asking me how to patch) +Forgetting to set CONFIG_EXPERIMENTAL=y +Forgetting to set CONFIG_DEVFS_FS=y +Forgetting to set CONFIG_DEVFS_MOUNT=y (if you want devfs +to be automatically mounted at boot) +Editing your .config manually, instead of using make +config or make xconfig +Forgetting to run make dep; make clean after changing the +configuration and before compiling +Forgetting to compile your kernel and modules +Forgetting to install your kernel +Forgetting to install your modules + +Please check twice that you've done all these steps before sending in +a bug report. + + + +How can I test if devfs is mounted on /dev? + +The device filesystem will always create an entry called +".devfsd", which is used to communicate with the daemon. Even +if the daemon is not running, this entry will exist. Testing for the +existence of this entry is the approved method of determining if devfs +is mounted or not. Note that the type of entry (i.e. regular file, +character device, named pipe, etc.) may change without notice. Only +the existence of the entry should be relied upon. + + @@ -1518,6 +1684,54 @@ + +What I don't like about devfs + +Here are some common complaints about devfs, and some suggestions and +solutions that may make it more palatable for you. I can't please +everybody, but I do try :-) + +I hate the naming scheme + +First, remember that no naming scheme will please everybody. You hate +the scheme, others love it. Who's to say who's right and who's wrong? +Ultimately, the person who writes the code gets to choose, and what +exists now is a combination of the the choices made by the +devfs author and the +kernel maintainer (Linus). + +However, not all is lost. If you want to create your own naming +scheme, it is a simple matter to write a standalone script, hack +devfsd, or write a script called by devfsd. You can create whatever +naming scheme you like. + +Further, if you want to remove all traces of the devfs naming scheme +from /dev, you can mount devfs elsewhere (say +/devfs) and populate /dev with links into +/devfs. This population can be automated using devfsd if you +wish. + +You can even use the VFS binding facility to make the links, rather +than using symbolic links. This way, you don't even have to see the +"destination" of these symbolic links. + +Devfs puts policy into the kernel + +There's already policy in the kernel. Device numbers are in fact +policy (why should the kernel dictate what device numbers I use?). +Face it, some policy has to be in the kernel. The real difference +between device names as policy and device numbers as policy is that +no one will use device numbers directly, because device +numbers are devoid of meaning to humans and are ugly. At least with +the devfs device names, (even though you can add your own naming +scheme) some people will use the devfs-supplied names directly. This +offends some people :-) + +Devfs is bloatware + +This is not even remotely true. As shown above, +both code and data size are quite modest. + ----------------------------------------------------------------------------- @@ -1539,7 +1753,7 @@ Douglas Gilbert has written yet another useful document at -http://www.torque.net/scsi/linux_scsi_24/ which +http://www.torque.net/scsi/SCSI-2.4-HOWTO/ which discusses the Linux SCSI subsystem in 2.4. @@ -1550,6 +1764,31 @@ http://johannes.erdfelt.com/hotswap.txt. Johannes has promised a HTML version will follow. + + +I presented an invited +paper +at the + +2nd Annual Storage Management Workshop held in Miamia, Florida, +U.S.A. in October 2000. + + + + +----------------------------------------------------------------------------- + + +Translations of this document + +This document has been translated into other languages. + + + + +A Korean translation by via...@no... is available at + +http://home.nownuri.net/~viatoris/devfs/devfs.html Index: ToDo =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/filesystems/devfs/ToDo,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- ToDo 14 Jan 2001 20:02:21 -0000 1.1.1.1 +++ ToDo 9 Apr 2002 16:55:41 -0000 1.2 @@ -32,7 +32,7 @@ - MFM hard drive (drivers/acorn/block/mfmhd.c) -- I2O block device (drivers/i2o/i2o_block.c) +- I2O block device (drivers/message/i2o/i2o_block.c) - ST-RAM device (arch/m68k/atari/stram.c) Index: boot-options =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.4/Documentation/filesystems/devfs/boot-options,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -r1.1.1.1 -r1.2 --- boot-options 14 Jan 2001 20:02:21 -0000 1.1.1.1 +++ boot-options 9 Apr 2002 16:55:41 -0000 1.2 @@ -4,7 +4,7 @@ Richard Gooch <rg...@at...> - 30-APR-2000 + 18-AUG-2001 When CONFIG_DEVFS_DEBUG is enabled, you can pass several boot options @@ -19,6 +19,8 @@ devfs=dmod,dreg +You may prefix "no" to any option. This will invert the option. + Debugging Options ================= @@ -42,11 +44,11 @@ dilookup print inode lookup requests -diread print inode reads +diget print VFS inode allocations diunlink print inode unlinks -diwrite print inode writes +dichange print inode changes dimknod print calls to mknod(2) @@ -58,10 +60,6 @@ These control the default behaviour of devfs. The options are: -show show unregistered devices by default - mount mount devfs onto /dev at boot time - -nomount do not mount devfs onto /dev at boot time only disable non-devfs device nodes for devfs-capable drivers |