summaryrefslogtreecommitdiff
path: root/sys/miscfs/devfs
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/3.0.0_cvscvs2svn1999-01-214-4/+4
| | | | | | | 'RELENG_3_0_0_RELEASE'. This commit was manufactured to restore the state of the 3.0-RELEASE image. Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
* This commit was manufactured by cvs2svn to create tagrelease/3.0.0cvs2svn1999-01-214-17/+34
| | | | | | | | 'RELENG_3_0_0_RELEASE'. Notes: svn path=/stable/3/; revision=42951 svn path=/release/3.0.0/; revision=42952; tag=release/3.0.0
* Remove declarations for undefined functions and a couple of unusedEivind Eklund1999-01-121-11/+1
| | | | | | | enotsupp implementations. Notes: svn path=/head/; revision=42568
* Avoid NULL-pointer dereference on error condition.Eivind Eklund1998-12-151-2/+2
| | | | Notes: svn path=/head/; revision=41834
* Rename one of the two devfs_link's to devfs_makelink.Eivind Eklund1998-12-101-2/+2
| | | | Notes: svn path=/head/; revision=41658
* The "easy" fixes for compiling the kernel -Wunused: remove unreferenced staticArchie Cobbs1998-12-072-14/+8
| | | | | | | and local variables, goto labels, and functions declared but not defined. Notes: svn path=/head/; revision=41591
* Staticize.Eivind Eklund1998-11-261-2/+2
| | | | Notes: svn path=/head/; revision=41362
* Delete stray extern declaration for non-existing variables.Peter Wemm1998-11-091-2/+1
| | | | Notes: svn path=/head/; revision=41027
* Use TAILQ macros for clean/dirty block list processing. Set b_xflagsPeter Wemm1998-10-312-6/+6
| | | | | | | rather than abusing the list next pointer with a magic number. Notes: svn path=/head/; revision=40790
* Make devfs update the atime timestamp so that 'w' works when usingSøren Schmidt1998-09-302-5/+12
| | | | | | | options DEVFS. Notes: svn path=/head/; revision=39836
* Oops, don't assume that the environment is normal in devfs_mount().Bruce Evans1998-09-081-4/+6
| | | | | | | | It isn't for the hidden mountpoint. The static vfs's haven't been attached then, so mp->mnt_vfc can't be valid. Notes: svn path=/head/; revision=38951
* Removed statically configured mount type numbers (MOUNT_*) and allBruce Evans1998-09-071-6/+6
| | | | | | | | | | | | references to them. The change a couple of days ago to ignore these numbers in statically configured vfsconf structs was slightly premature because the cd9660, cfs, devfs, ext2fs, nfs vfs's still used MOUNT_* instead of the number in their vfsconf struct. Notes: svn path=/head/; revision=38909
* Cosmetic changes to the PAGE_XXX macros to make them consistent withDoug Rabson1998-09-041-2/+2
| | | | | | | the other objects in vm. Notes: svn path=/head/; revision=38799
* Use [u]intptr_t instead of [u_]long for casts between pointers andBruce Evans1998-08-162-11/+10
| | | | | | | integers. Don't forget to cast to (void *) as well. Notes: svn path=/head/; revision=38354
* Fixed printf format errors.Bruce Evans1998-07-301-2/+2
| | | | Notes: svn path=/head/; revision=37977
* DEVFS completely bypasses the cdevsw and bdevsw tables now.Julian Elischer1998-07-053-232/+804
| | | | | | | | | | | Each devfs node has (and has had fro a while) a pointer directly to the correct cdefsw entry so just use it instead of doing the lookup. There are several other places in the kernel that still use the tables however, so they can't go away yet.. Notes: svn path=/head/; revision=37407
* There is no such thing any more as "struct bdevsw".Julian Elischer1998-07-042-5/+5
| | | | | | | | | | | | | | | | | | | | | There is only cdevsw (which should be renamed in a later edit to deventry or something). cdevsw contains the union of what were in both bdevsw an cdevsw entries. The bdevsw[] table stiff exists and is a second pointer to the cdevsw entry of the device. it's major is in d_bmaj rather than d_maj. some cleanup still to happen (e.g. dsopen now gets two pointers to the same cdevsw struct instead of one to a bdevsw and one to a cdevsw). rawread()/rawwrite() went away as part of this though it's not strictly the same patch, just that it involves all the same lines in the drivers. cdroms no longer have write() entries (they did have rawwrite (?)). tapes no longer have support for bdev operations. Reviewed by: Eivind Eklund and Mike Smith Changes suggested by eivind. Notes: svn path=/head/; revision=37389
* Removed unused includes.Bruce Evans1998-06-211-3/+1
| | | | Notes: svn path=/head/; revision=37094
* Don't silently accept attempts to change flags where they are notPeter Wemm1998-06-101-2/+4
| | | | | | | supported. Notes: svn path=/head/; revision=36840
* In the words of the submitter:Mike Smith1998-05-071-26/+11
| | | | | | | | | | | | | | | | | | | | | | --------- Make callers of namei() responsible for releasing references or locks instead of having the underlying filesystems do it. This eliminates redundancy in all terminal filesystems and makes it possible for stacked transport layers such as umapfs or nullfs to operate correctly. Quality testing was done with testvn, and lat_fs from the lmbench suite. Some NFS client testing courtesy of Patrik Kudo. vop_mknod and vop_symlink still release the returned vpp. vop_rename still releases 4 vnode arguments before it returns. These remaining cases will be corrected in the next set of patches. --------- Submitted by: Michael Hancock <michaelh@cet.co.jp> Notes: svn path=/head/; revision=35823
* As described by the submitter:Mike Smith1998-05-061-2/+1
| | | | | | | | | | | | | | | | Reverse the VFS_VRELE patch. Reference counting of vnodes does not need to be done per-fs. I noticed this while fixing vfs layering violations. Doing reference counting in generic code is also the preference cited by John Heidemann in recent discussions with him. The implementation of alternative vnode management per-fs is still a valid requirement for some filesystems but will be revisited sometime later, most likely using a different framework. Submitted by: Michael Hancock <michaelh@cet.co.jp> Notes: svn path=/head/; revision=35769
* Make the devfs SLICE option a standard type option.Julian Elischer1998-04-201-4/+8
| | | | | | | (hopefully it will go away eventually anyhow) Notes: svn path=/head/; revision=35323
* Add changes and code to implement a functional DEVFS.Julian Elischer1998-04-194-67/+139
| | | | | | | | | | | | | | | | | | | | | | | | This code will be turned on with the TWO options DEVFS and SLICE. (see LINT) Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes. /dev will be automatically mounted by init (thanks phk) on bootup. See /sys/dev/slice/slice.4 for more info. All code should act the same without these options enabled. Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others This code does not support the following: bad144 handling. Persistance. (My head is still hurting from the last time we discussed this) ATAPI flopies are not handled by the SLICE code yet. When this code is running, all major numbers are arbitrary and COULD be dynamically assigned. (this is not done, for POLA only) Minor numbers for disk slices ARE arbitray and dynamically assigned. Notes: svn path=/head/; revision=35319
* Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108.Dag-Erling Smørgrav1998-04-173-7/+7
| | | | Notes: svn path=/head/; revision=35256
* Add two new functions, get{micro|nano}time.Poul-Henning Kamp1998-03-262-13/+11
| | | | | | | | | | | | | | | They are atomic, but return in essence what is in the "time" variable. gettime() is now a macro front for getmicrotime(). Various patches to use the two new functions instead of the various hacks used in their absence. Some puntuation and grammer patches from Bruce. A couple of XXX comments. Notes: svn path=/head/; revision=34901
* Free the vnode in the failure case of vop_symlink()Julian Elischer1998-03-101-1/+2
| | | | | | | Suggested by: Michaelh@cet.co.jp Notes: svn path=/head/; revision=34457
* The intent is to get rid of WILLRELE in vnode_if.src by makingMike Smith1998-03-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a complement to all ops that return a vpp, VFS_VRELE. This is initially only for file systems that implement the following ops that do a WILLRELE: vop_create, vop_whiteout, vop_mknod, vop_remove, vop_link, vop_rename, vop_mkdir, vop_rmdir, vop_symlink This is initial DNA that doesn't do anything yet. VFS_VRELE is implemented but not called. A default vfs_vrele was created for fs implementations that use the standard vnode management routines. VFS_VRELE implementations were made for the following file systems: Standard (vfs_vrele) ffs mfs nfs msdosfs devfs ext2fs Custom union umapfs Just EOPNOTSUPP fdesc procfs kernfs portal cd9660 These implementations may change as VOP changes are implemented. In the next phase, in the vop implementations calls to vrele and the vrele part of vput will be moved to the top layer vfs_vnops and made visible to all layers. vput will be replaced by unlock in these cases. Unlocking will still be done in the per fs layer but the refcount decrement will be triggered at the top because it doesn't hurt to hold a vnode reference a little longer. This will have minimal impact on the structure of the existing code. This will only be done for vnode arguments that are released by the various fs vop implementations. Wider use of VFS_VRELE will likely require restructuring of the code. Reviewed by: phk, dyson, terry et. al. Submitted by: Michael Hancock <michaelh@cet.co.jp> Notes: svn path=/head/; revision=33964
* add copyrightsJulian Elischer1998-01-024-17/+102
| | | | Notes: svn path=/head/; revision=32176
* Don't include <sys/lock.h> in headers when only `struct simplelock' isBruce Evans1997-12-051-1/+2
| | | | | | | required. Fixed everything that depended on the pollution. Notes: svn path=/head/; revision=31561
* fix slight breakages from PHK's VFS work.Julian Elischer1997-11-082-43/+9
| | | | | | | also remove irrelevant copyright, now that all that code has gone away. Notes: svn path=/head/; revision=31042
* Removed unused #includes. The need for most of them went away withBruce Evans1997-10-271-2/+1
| | | | | | | recent changes (docluster* and vfs improvements). Notes: svn path=/head/; revision=30780
* VFS interior redecoration.Poul-Henning Kamp1997-10-261-2/+2
| | | | | | | | | | | | | | | | Rename vn_default_error to vop_defaultop all over the place. Move vn_bwrite from vfs_bio.c to vfs_default.c and call it vop_stdbwrite. Use vop_null instead of nullop. Move vop_nopoll from vfs_subr.c to vfs_default.c Move vop_sharedlock from vfs_subr.c to vfs_default.c Move vop_nolock from vfs_subr.c to vfs_default.c Move vop_nounlock from vfs_subr.c to vfs_default.c Move vop_noislocked from vfs_subr.c to vfs_default.c Use vop_ebadf instead of *_ebadf. Add vop_defaultop for getpages on master vnode in MFS. Notes: svn path=/head/; revision=30743
* VFS clean up "hekto commit"Poul-Henning Kamp1997-10-161-4/+1
| | | | | | | | | | | | | 1. Add defaults for more VOPs VOP_LOCK vop_nolock VOP_ISLOCKED vop_noislocked VOP_UNLOCK vop_nounlock and remove direct reference in filesystems. 2. Rename the nfsv2 vnop tables to improve sorting order. Notes: svn path=/head/; revision=30496
* Another VFS cleanup "kilo commit"Poul-Henning Kamp1997-10-161-113/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS} intereface function, and now lives in the ufsmount structure. 2. Remove VOP_SEEK, it was unused. 3. Add mode default vops: VOP_ADVLOCK vop_einval VOP_CLOSE vop_null VOP_FSYNC vop_null VOP_IOCTL vop_enotty VOP_MMAP vop_einval VOP_OPEN vop_null VOP_PATHCONF vop_einval VOP_READLINK vop_einval VOP_REALLOCBLKS vop_eopnotsupp And remove identical functionality from filesystems 4. Add vop_stdpathconf, which returns the canonical stuff. Use it in the filesystems. (XXX: It's probably wrong that specfs and fifofs sets this vop, shouldn't it come from the "host" filesystem, for instance ufs or cd9660 ?) 5. Try to make system wide VOP functions have vop_* names. 6. Initialize the um_* vectors in LFS. (Recompile your LKMS!!!) Notes: svn path=/head/; revision=30492
* VFS mega cleanup commit (x/N)Poul-Henning Kamp1997-10-161-86/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. Add new file "sys/kern/vfs_default.c" where default actions for VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE, POLL, REVOKE and STRATEGY. Various stuff spread over the entire tree belongs here. 2. Change VOP_BLKATOFF to a normal function in cd9660. 3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These are private interface functions between UFS and the underlying storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now live in struct ufsmount instead. 4. Remove a kludge of VOP_ functions in all filesystems, that did nothing but obscure the simplicity and break the expandability. If a filesystem doesn't implement VOP_FOO, it shouldn't have an entry for it in its vnops table. The system will try to DTRT if it is not implemented. There are still some cruft left, but the bulk of it is done. 5. Fix another VCALL in vfs_cache.c (thanks Bruce!) Notes: svn path=/head/; revision=30474
* remove forgotten debug printf()Julian Elischer1997-10-161-2/+1
| | | | Notes: svn path=/head/; revision=30470
* 1/ by default make all versions of the same device get the same vnode.Julian Elischer1997-10-162-6/+5
| | | | | | | | 2/ Show the dummy mount in the mount list. it cannot be reached (that I know of) but puting it there, means that disks mounted from devfs will have their things such as the superblock and the bitmaps, synced to disk :) Notes: svn path=/head/; revision=30464
* some cleanups of init code, and changes needed to support disk layering.Julian Elischer1997-10-162-62/+75
| | | | Notes: svn path=/head/; revision=30463
* vnops megacommitPoul-Henning Kamp1997-10-151-37/+4
| | | | | | | | | | | | | 1. Use the default function to access all the specfs operations. 2. Use the default function to access all the fifofs operations. 3. Use the default function to access all the ufs operations. 4. Fix VCALL usage in vfs_cache.c 5. Use VOCALL to access specfs functions in devfs_vnops.c 6. Staticize most of the spec and fifofs vnops functions. 7. Make UFS panic if it lacks bits of the underlying storage handling. Notes: svn path=/head/; revision=30439
* Hmm, realign the vnops into two columns.Poul-Henning Kamp1997-10-151-16/+16
| | | | Notes: svn path=/head/; revision=30434
* Stylistic overhaul of vnops tables.Poul-Henning Kamp1997-10-151-97/+84
| | | | | | | | | | 1. Remove comment stating the blatantly obvious. 2. Align in two columns. 3. Sort all but the default element alphabetically. 4. Remove XXX comments pointing out entries not needed. Notes: svn path=/head/; revision=30431
* if we free all the links to a node, then by definitionJulian Elischer1997-10-121-2/+1
| | | | | | | | | | we freed the name we used to find it.. SO DON'T free it again later! pointy hat over here please.. Notes: svn path=/head/; revision=30359
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.Poul-Henning Kamp1997-10-122-6/+6
| | | | | | | | | | | Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them. A couple of finer points by: bde Notes: svn path=/head/; revision=30354
* Distribute and statizice a lot of the malloc M_* types.Poul-Henning Kamp1997-10-113-5/+9
| | | | | | | Substantial input from: bde Notes: svn path=/head/; revision=30309
* Allow a deleted deveice to delte it's nodes in other mounted devfsJulian Elischer1997-10-101-1/+7
| | | | | | | filesystems even if not in SPLIT_DEVS mode. Notes: svn path=/head/; revision=30263
* Change the M_NAMEI allocations to use the zone allocator. This changeJohn Dyson1997-09-211-2/+2
| | | | | | | | | | | plus the previous changes to use the zone allocator decrease the useage of malloc by half. The Zone allocator will be upgradeable to be able to use per CPU-pools, and has more intelligent usage of SPLs. Additionally, it has reasonable stats gathering capabilities, while making most calls inline. Notes: svn path=/head/; revision=29653
* devfs changes to allow old (better) and newer (braindamaged) behaviour.Julian Elischer1997-09-161-10/+24
| | | | | | | I'm going to try migrate back, while keeping the newer code. Notes: svn path=/head/; revision=29498
* Convert select -> poll.Peter Wemm1997-09-141-4/+18
| | | | | | | | Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries. Notes: svn path=/head/; revision=29362
* Removed yet more vestiges of config-time swap configuration and/orBruce Evans1997-09-071-4/+2
| | | | | | | cleaned up nearby cruft. Notes: svn path=/head/; revision=29208
* Removed vestiges of config-time "argument processing" configuration.Bruce Evans1997-09-071-2/+2
| | | | Notes: svn path=/head/; revision=29203