summaryrefslogtreecommitdiffstats
path: root/sys/msdosfs
Commit message (Collapse)AuthorAgeFilesLines
* struct mountlist and struct mount.mnt_list have no business beingphk1999-11-201-1/+1
| | | | | | | | | | a CIRCLEQ. Change them to TAILQ_HEAD and TAILQ_ENTRY respectively. This removes ugly mp != (void*)&mountlist comparisons. Requested by: phk Submitted by: Jake Burkholder jake@checker.org PR: 14967
* Next step in the device cleanup process.phk1999-11-091-0/+2
| | | | | | | | Correctly lock vnodes when calling VOP_OPEN() from filesystem mount code. Unify spec_open() for bdev and cdev cases. Remove the disabled bdev specific read/write code.
* More removals of vnode->v_lastr, replaced by preexisting seqcountdillon1999-09-202-5/+8
| | | | | | | | | heuristic to detect sequential operation. VM-related forced clustering code removed from ufs in preparation for a commit to vm/vm_fault.c that does it more generally. Reviewed by: David Greenman <dg@root.com>, Alan Cox <alc@cs.rice.edu>
* Seperate the export check in VFS_FHTOVP, exports are now checked viaalfred1999-09-111-10/+21
| | | | | | | | | VFS_CHECKEXP. Add fh(open|stat|stafs) syscalls to allow userland to query filesystems based on (network) filehandle. Obtained from: NetBSD
* All unimplemented VFS ops now have entries in kern/vfs_default.c that returnalfred1999-09-071-38/+3
| | | | | | | | | | | | | reasonable defaults. This avoids confusing and ugly casting to eopnotsupp or making dummy functions. Bogus casting of filesystem sysctls to eopnotsupp() have been removed. This should make *_vfsops.c more readable and reduce bloat. Reviewed by: msmith, eivind Approved by: phk Tested by: Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
* $Id$ -> $FreeBSD$peter1999-08-2812-12/+12
|
* Introduce vn_isdisk(struct vnode *vp) function, and use it to test for diskness.phk1999-08-251-6/+2
|
* Initialise fsids with (user) device numbers again. Bitrot when dev_t'sbde1999-08-231-2/+2
| | | | | were changed to pointers was obscured by casting dev_t's to longs. fsids haven't even been comprised of longs since the Lite2 merge.
* The bdevsw() and cdevsw() are now identical, so kill the former.phk1999-08-131-2/+2
|
* Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>,phk1999-08-082-4/+2
| | | | | | a few lines into <sys/vnode.h>. Add a few fields to struct specinfo, paving the way for the fun part.
* Don't set DE_ACCESS for unsuccessful reads.bde1999-07-251-8/+12
| | | | | | | | | | Translated from: a similar fix in ufs_readwrite.c rev.1.61. Don't forget to set DE_ACCESS for short reads. Check for invalid (negative) offsets before checking for reads of 0 bytes, as in ufs, although checking for invalid offsets at all is probably a bug.
* move <sys/systm.h> before <sys/buf.h>peter1999-07-011-2/+2
|
* Convert buffer locking from using the B_BUSY and B_WANTED flags to usingmckusick1999-06-261-3/+2
| | | | | | | lockmgr locks. This commit should be functionally equivalent to the old semantics. That is, all buffer locking is done with LK_EXCLUSIVE requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will be done in future commits.
* Simplify cdevsw registration.phk1999-05-311-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The cdevsw_add() function now finds the major number(s) in the struct cdevsw passed to it. cdevsw_add_generic() is no longer needed, cdevsw_add() does the same thing. cdevsw_add() will print an message if the d_maj field looks bogus. Remove nblkdev and nchrdev variables. Most places they were used bogusly. Instead check a dev_t for validity by seeing if devsw() or bdevsw() returns NULL. Move bdevsw() and devsw() functions to kern/kern_conf.c Bump __FreeBSD_version to 400006 This commit removes: 72 bogus makedev() calls 26 bogus SYSINIT functions if_xe.c bogusly accessed cdevsw[], author/maintainer please fix. I4b and vinum not changed. Patches emailed to authors. LINT probably broken until they catch up.
* Divorce "dev_t" from the "major|minor" bitmap, which is now calledphk1999-05-112-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | udev_t in the kernel but still called dev_t in userland. Provide functions to manipulate both types: major() umajor() minor() uminor() makedev() umakedev() dev2udev() udev2dev() For now they're functions, they will become in-line functions after one of the next two steps in this process. Return major/minor/makedev to macro-hood for userland. Register a name in cdevsw[] for the "filedescriptor" driver. In the kernel the udev_t appears in places where we have the major/minor number combination, (ie: a potential device: we may not have the driver nor the device), like in inodes, vattr, cdevsw registration and so on, whereas the dev_t appears where we carry around a reference to a actual device. In the future the cdevsw and the aliased-from vnode will be hung directly from the dev_t, along with up to two softc pointers for the device driver and a few houskeeping bits. This will essentially replace the current "alias" check code (same buck, bigger bang). A little stunt has been provided to try to catch places where the wrong type is being used (dev_t vs udev_t), if you see something not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if it makes a difference. If it does, please try to track it down (many hands make light work) or at least try to reproduce it as simply as possible, and describe how to do that. Without DEVT_FASCIST I belive this patch is a no-op. Stylistic/posixoid comments about the userland view of the <sys/*.h> files welcome now, from userland they now contain the end result. Next planned step: make all dev_t's refer to the same devsw[] which means convert BLK's to CHR's at the perimeter of the vnodes and other places where they enter the game (bootdev, mknod, sysctl).
* I got tired of seeing all the cdevsw[major(foo)] all over the place.phk1999-05-081-2/+2
| | | | | | | | Made a new (inline) function devsw(dev_t dev) and substituted it. Changed to the BDEV variant to this format as well: bdevsw(dev_t dev) DEVFS will eventually benefit from this change too.
* Continue where Julian left off in July 1998:phk1999-05-071-2/+2
| | | | | | | | | | | | | | Virtualize bdevsw[] from cdevsw. bdevsw() is now an (inline) function. Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention to the order of the cmaj/bmaj arguments!) Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE (ditto!) (Next step will be to convert all bdev dev_t's to cdev dev_t's before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)
* Add sufficient braces to keep egcs happy about potentially ambiguouspeter1999-05-062-5/+6
| | | | if/else nesting.
* This Implements the mumbled about "Jail" feature.phk1999-04-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do. For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers". Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname. Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors. It generally does what one would expect, but setting up a jail still takes a little knowledge. A few notes: I have no scripts for setting up a jail, don't ask me for them. The IP number should be an alias on one of the interfaces. mount a /proc in each jail, it will make ps more useable. /proc/<pid>/status tells the hostname of the prison for jailed processes. Quotas are only sensible if you have a mountpoint per prison. There are no privisions for stopping resource-hogging. Some "#ifdef INET" and similar may be missing (send patches!) If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome! Tools, comments, patches & documentation most welcome. Have fun... Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/
* Suser() simplification:phk1999-04-271-5/+5
| | | | | | | | | | | | | | | | | | | 1: s/suser/suser_xxx/ 2: Add new function: suser(struct proc *), prototyped in <sys/proc.h>. 3: s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/ The remaining suser_xxx() calls will be scrutinized and dealt with later. There may be some unneeded #include <sys/cred.h>, but they are left as an exercise for Bruce. More changes to the suser() API will come along with the "jail" code.
* Back out half of 1.32: don't print a message on every failed mount attempt.dt1999-03-281-3/+1
| | | | | It is too chatty and hardly useful. 2 mesages in somewhat usual cases are left for now.
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-272-4/+9
| | | | kernel compile
* Now empty DOS filesystems default to long file names. Non-empty filesystemsdt1999-01-021-5/+7
| | | | without traces of Win95 default to short file names, as before.
* Ensure that deHighClust in direntry always initialized.dt1999-01-021-19/+29
| | | | | | | | | Noticed by: Carl Mascott <cmascott@world.std.com> Don't write access time of a file more than once per day. (Its precision is 1 day anyway). Don't try to write access and creation time in nonwin95 case. Suggested by: bde (long time ago).
* Ifdefed conditionally used simplock variables.bde1999-01-021-1/+3
|
* The "easy" fixes for compiling the kernel -Wunused: remove unreferenced staticarchie1998-12-074-14/+5
| | | | and local variables, goto labels, and functions declared but not defined.
* Honor MNT_NOATIME.dt1998-11-291-3/+3
| | | | | PR: 8383 Submitted by: Carl Mascott <cmascott@world.std.com>
* Support NT VFAT lower case flags.dt1998-11-215-11/+20
| | | | | PR: 8383 (Mostly) Submitted by: Carl Mascott <cmascott@world.std.com>
* add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE()peter1998-11-101-1/+2
|
* Use TAILQ macros for clean/dirty block list processing. Set b_xflagspeter1998-10-312-9/+8
| | | | rather than abusing the list next pointer with a magic number.
* Use vtruncbuf() rather than vinvalbuf() when shortening files.peter1998-10-291-6/+9
|
* Don't follow null bdevsw pointers. The `major(dev) < nblkdev' test rottedbde1998-10-251-2/+4
| | | | | when bdevsw[] became sparse. We still depend on magic to avoid having to check that (v_rdev) device numbers in vnodes are not NODEV.
* Remove unused variable.dt1998-09-131-3/+1
| | | | Pointed out by: bde
* Fix a bug related to renaming in root directory. This bug reported bydt1998-09-131-2/+4
| | | | | | | Cejka Rudolf <cejkar@dcse.fee.vutbr.cz> on freebsd-current in Messaage-Id <199807141023.MAA09803@kazi.dcse.fee.vutbr.cz>. Reviewed by: bde
* Removed statically configured mount type numbers (MOUNT_*) and allbde1998-09-071-2/+2
| | | | | | | | | 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.
* Removed unused includes.bde1998-08-171-2/+1
|
* Fixed printf format errors.bde1998-07-111-2/+2
|
* VOP_STRATEGY grows an (struct vnode *) argumentjulian1998-07-041-2/+3
| | | | | | as the value in b_vp is often not really what you want. (and needs to be frobbed). more cleanups will follow this. Reviewed by: Bruce Evans <bde@freebsd.org>
* Back out previous change. This behavior is at least completelydt1998-06-101-1/+1
| | | | "susv2"-compliant.
* Also return EOPNOTSUPP rather than EINVAL for not supported owner and groupdt1998-06-101-2/+2
| | | | changes.
* Return EOPNOTSUPP rather than EINVAL for flags that are not supported.peter1998-06-101-2/+2
|
* Fix typo in a comment.dt1998-06-091-2/+2
|
* Fix priority bug in previous commit.dt1998-05-181-2/+2
| | | | Submitted by: bde
* Fix support for pre-Win95 filesystems: Make it possible to lookup justdt1998-05-172-3/+14
| | | | created short file name. Don't insert "generation numbers".
* Remove bogus LK_RETRY.dt1998-05-171-2/+2
| | | | Submitted by: bde
* Don't forget to clean up after an error reading the directory entrybde1998-05-171-3/+13
| | | | in deget().
* Removed vestiges of pre-Lite2 locking.bde1998-05-172-4/+2
|
* s/nanoruntime/nanouptime/gphk1998-05-171-2/+2
| | | | | | s/microruntime/microuptime/g Reviewed by: bde
* Fix off by ane error in previous commit.dt1998-05-091-2/+2
| | | | | | | | | | | This caused following commands: mkdir z cd z touch A B mv B A corrupt the '..' entry in 'z'. Reported by: bde
* In the words of the submitter:msmith1998-05-071-27/+13
| | | | | | | | | | | | | | | | | | | --------- 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>
OpenPOWER on IntegriCloud