summaryrefslogtreecommitdiffstats
path: root/sys/coda
Commit message (Collapse)AuthorAgeFilesLines
* Lock reporting and assertion changes.eivind1999-12-111-1/+1
| | | | | | | | | | | | | | | * lockstatus() and VOP_ISLOCKED() gets a new process argument and a new return value: LK_EXCLOTHER, when the lock is held exclusively by another process. * The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them * Extend the vnode_if.src format to allow more exact specification than locked/unlocked. This commit should not do any semantic changes unless you are using DEBUG_VFS_LOCKS. Discussed with: grog, mch, peter, phk Reviewed by: peter
* s/p_cred->pc_ucred/p_ucred/gphk1999-11-211-2/+2
|
* struct mountlist and struct mount.mnt_list have no business beingphk1999-11-201-4/+3
| | | | | | | | | | 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
* Remove WILLRELE from VOP_SYMLINKeivind1999-11-131-7/+3
| | | | | | Note: Previous commit to these files (except coda_vnops and devfs_vnops) that claimed to remove WILLRELE from VOP_RENAME actually removed it from VOP_MKNOD.
* sigset_t change (part 2 of 5)marcel1999-09-291-24/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------------------- The core of the signalling code has been rewritten to operate on the new sigset_t. No methodological changes have been made. Most references to a sigset_t object are through macros (see signalvar.h) to create a level of abstraction and to provide a basis for further improvements. The NSIG constant has not been changed to reflect the maximum number of signals possible. The reason is that it breaks programs (especially shells) which assume that all signals have a non-null name in sys_signame. See src/bin/sh/trap.c for an example. Instead _SIG_MAXSIG has been introduced to hold the maximum signal possible with the new sigset_t. struct sigprop has been moved from signalvar.h to kern_sig.c because a) it is only used there, and b) access must be done though function sigprop(). The latter because the table doesn't holds properties for all signals, but only for the first NSIG signals. signal.h has been reorganized to make reading easier and to add the new and/or modified structures. The "old" structures are moved to signalvar.h to prevent namespace polution. Especially the coda filesystem suffers from the change, because it contained lines like (p->p_sigmask == SIGIO), which is easy to do for integral types, but not for compound types. NOTE: kdump (and port linux_kdump) must be recompiled. Thanks to Garrett Wollman and Daniel Eischen for pressing the importance of changing sigreturn as well.
* Remove five now unused fields from struct cdevsw. They should neverphk1999-09-251-5/+0
| | | | | | | | have been there in the first place. A GENERIC kernel shrinks almost 1k. Add a slightly different safetybelt under nostop for tty drivers. Add some missing FreeBSD tags
* Seperate the export check in VFS_FHTOVP, exports are now checked viaalfred1999-09-111-0/+1
| | | | | | | | | 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-56/+6
| | | | | | | | | | | | | 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-2819-19/+19
|
* Convert DEVFS hooks in (most) drivers to make_dev().phk1999-08-231-35/+1
| | | | | | | | | | | | | | | | Diskslice/label code not yet handled. Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers) Add the correct hook for devfs to kern_conf.c The net result of this excercise is that a lot less files depends on DEVFS, and devtoname() gets more sensible output in many cases. A few drivers had minor additional cleanups performed relating to cdevsw registration. A few drivers don't register a cdevsw{} anymore, but only use make_dev().
* Don't examine vp->v_tag (see comment in vnode.h)phk1999-08-131-3/+2
|
* Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>,phk1999-08-081-3/+1
| | | | | | a few lines into <sys/vnode.h>. Add a few fields to struct specinfo, paving the way for the fun part.
* Fixed all printf format errors reported by gcc -Wformat on i386's:bde1999-08-081-10/+16
| | | | | | | | | - %q -> %ll; don't assume that the promotion of off_t is quad_t; only assume that off_t's are representable as long longs. - printing of dev_t's was completely broken. Fixed nearby printf format errors not reported by gcc -Wformat on i386's: - printing of ino_t's and pointers was sloppy.
* The dev returned here is what is found in the st_dev field.rvb1999-08-021-2/+3
| | | | This should not be further translated ... hence the 0.
* Remove the RCS "Log" and all the verbiage it has generated.phk1999-07-2110-1304/+12
|
* Don't access the device with vp->v_specinfo->si_rdev, use vp->v_rdev.phk1999-07-201-2/+28
|
* Simplify cdevsw registration.phk1999-05-312-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* This commit should be a extensive NO-OP:phk1999-05-301-6/+21
| | | | | | | | | | | | | Reformat and initialize correctly all "struct cdevsw". Initialize the d_maj and d_bmaj fields. The d_reset field was not removed, although it is never used. I used a program to do most of this, so all the files now use the same consistent format. Please keep it that way. Vinum and i4b not modified, patches emailed to respective authors.
* 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).
* remove cast from dev_t to dev_t.phk1999-05-091-2/+11
|
* I got tired of seeing all the cdevsw[major(foo)] all over the place.phk1999-05-081-2/+5
| | | | | | | | 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.
* Removed a bogus cast to c_caddr_t. This is part of terminatingbde1999-01-291-2/+8
| | | | | | | | | c_caddr_t with extreme prejudice. Here we want to convert from `const char *' to `const char *'. Casting through c_caddr_t is not the way to do this. The original cast to caddr_t was apparently to break warnings about const mismatches in other versions of BSD (in 4.4BSDLite2, the conversion is from `const char *path' to plain caddr_t).
* Fix warnings in preparation for adding -Wall -Wcast-qual to thedillon1999-01-281-2/+2
| | | | kernel compile
* Fix warnings preparing for -Wall -Wcast-qualdillon1999-01-272-4/+12
| | | | | Also disable one usb module in LINT due to fatal compilation errors, temporary.
* Add 'options DEBUG_LOCKS', which stores extra information in structeivind1999-01-201-1/+11
| | | | | | | | lock, and add some macros and function parameters to make sure that the information get to the point where it can be put in the lock structure. While I'm here, add DEBUG_VFS_LOCKS to LINT.
* Missed a stray LKM #ifdefpeter1999-01-171-5/+8
|
* Clean up the KLD/LKM goop a bit.peter1999-01-173-93/+23
|
* Don't pass unused unused timestamp args to UFS_UPDATE() or wastebde1999-01-071-2/+5
| | | | | time initializing them. This almost finishes centralizing (in-core) timestamp updates in ufs_itimes().
* Remove the 'waslocked' parameter to vfs_object_create().eivind1999-01-052-6/+9
|
* Examine all occurrences of sprintf(), strcat(), and str[n]cpy()archie1998-12-041-3/+6
| | | | | | | | | | | | | | for possible buffer overflow problems. Replaced most sprintf()'s with snprintf(); for others cases, added terminating NUL bytes where appropriate, replaced constants like "16" with sizeof(), etc. These changes include several bug fixes, but most changes are for maintainability's sake. Any instance where it wasn't "immediately obvious" that a buffer overflow could not occur was made safer. Reviewed by: Bruce Evans <bde@zeta.org.au> Reviewed by: Matthew Dillon <dillon@apollo.backplane.com> Reviewed by: Mike Spengler <mks@networkcs.com>
* Don't print diagnostic anymorervb1998-12-041-1/+6
|
* A few bug fixes for Robert Watsonrvb1998-11-162-5/+24
|
* Finished updating module event handlers to be compatible withbde1998-11-151-2/+2
| | | | modeventhand_t.
* coda_lookup now passes up an extra flag. But old veni willrvb1998-11-114-16/+84
| | | | | | | be ok; new veni will check /dev/cfs0 to make sure that a new kernel is running. Also, a bug in vc_nb_close iff CODA_SIGNAL's were seen has been fixed.
* Support KLD. We register and unregister two modules. "coda" (the vfs)peter1998-11-032-44/+65
| | | | | | | | | via VFS_SET(), and "codadev" for the cdevsw entry. From kldstat -v: 3 1 0xf02c5000 115d8 coda.ko Contains modules: Id Name 2 codadev 3 coda
* Change the way unmounting happens to guarantee that thervb1998-10-282-21/+61
| | | | | | | client programs are allowed to finish up (coda_call is forced to complete) and release their locks. Thus there is a reasonable chance that the vflush implicit in the unmount will not get hung on held locks.
* Updatervb1998-10-281-11/+0
|
* Venus must be passed O_CREAT flag on VOP_OPEN iff this isrvb1998-10-284-74/+123
| | | | | | a creat so that we can will allow a mode 444 file to be written into. Sync with the latest coda.h and deal with collateral damage.
* Nitpicking and dusting performed on a train. Removes trivial warningsphk1998-10-251-3/+4
| | | | about unused variables, labels and other lint.
* Fixes for lkm:rvb1998-09-294-10/+23
| | | | | 1. use VFS_LKM vs ACTUALLY_LKM_NOT_KERNEL 2. don't pass -DCODA to lkm build
* Cleanup and fix THE bugrvb1998-09-284-22/+39
|
* Don't lose this filervb1998-09-251-0/+39
|
* Put "stray" printouts under DIAGNOSTIC. Make everything buildrvb1998-09-257-77/+205
| | | | | with DEBUG on. Add support for lkm. (The macro's don't work for me; for a good chuckle look at the end of coda_fbsd.c.)
* Finish conversion of cfs -> codarvb1998-09-1317-73/+113
|
* All the references to cfs, in symbols, structs, and stringsrvb1998-09-1116-1402/+1421
| | | | have been changed to coda. (Same for CFS.)
* Removed statically configured mount type numbers (MOUNT_*) and allbde1998-09-071-3/+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.
* Clean LINTrvb1998-09-063-10/+18
|
* Pass2 completervb1998-09-0222-1831/+714
|
* Very Preliminary Codarvb1998-08-2922-0/+9354
OpenPOWER on IntegriCloud