summaryrefslogtreecommitdiffstats
path: root/sys/fs/coda
Commit message (Collapse)AuthorAgeFilesLines
* Device megapatch 5/6:phk2004-02-211-2/+1
| | | | | | | | | | | | Remove the unused second argument from udev2dev(). Convert all remaining users of makedev() to use udev2dev(). The semantic difference is that udev2dev() will only locate a pre-existing dev_t, it will not line makedev() create a new one. Apart from the tiny well controlled windown in D_PSEUDO drivers, there should no longer be any "anonymous" dev_t's in the system now, only dev_t's created with make_dev() and make_dev_alias()
* Device megapatch 4/6:phk2004-02-211-0/+2
| | | | | | | | Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION. Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
* - Implement selwakeuppri() which allows raising the priority of atanimura2003-11-091-2/+2
| | | | | | | | | | | | | thread being waken up. The thread waken up can run at a priority as high as after tsleep(). - Replace selwakeup()s with selwakeuppri()s and pass appropriate priorities. - Add cv_broadcastpri() which raises the priority of the broadcast threads. Used by selwakeuppri() if collision occurs. Not objected in: -arch, -current
* Remove mntvnode_mtx and replace it with per-mountpoint mutex.kan2003-11-051-3/+3
| | | | | | | | | | Introduce two new macros MNT_ILOCK(mp)/MNT_IUNLOCK(mp) to operate on this mutex transparently. Eventually new mutex will be protecting more fields in struct mount, not only vnode list. Discussed with: jeff
* Include <sys/mutex.h>. Don't depend on namespace pollution in <sys/vnode.h>.bde2003-10-051-2/+1
| | | | | Fixed a nearby style bug. The include of vcoda.h used angle brackets and was not used.
* - Check XLOCK prior to accessing v_data.jeff2003-10-051-0/+6
|
* - Make proper use of the mntvnode_mtx. We do not need the loop labeljeff2003-10-041-3/+5
| | | | | because we do not drop the mntvnode_mtx. If this code had ever executed and hit the loop condition it would have spun forever.
* Move an overly verbose message under #ifdef CODA_VERBOSE.tjr2003-09-131-0/+2
|
* Move an annoying printf() call that gets triggered every time antjr2003-09-101-0/+2
| | | | operation is interrupted (with ^C or ^Z) under CODA_VERBOSE.
* Add support for the Coda 6.x venus<->kernel interface. This extendstjr2003-09-0711-342/+388
| | | | | | | | | | | | | | FIDs to be 128-bits wide and adds support for realms. Add a new CODA_COMPAT_5 option, which requests support for the old Coda 5.x interface instead of the new one. Create a new coda5.ko module that supports the 5.x interface, and make the existing coda.ko module use the new 6.x interface. These modules cannot both be loaded at the same time. Obtained from: Jan Harkes & the coda-6.0.2 distribution, NetBSD (drochner) (CODA_COMPAT_5 option).
* Add a "int fd" argument to VOP_OPEN() which in the future willphk2003-07-262-4/+4
| | | | | | | | | contain the filedescriptor number on opens from userland. The index is used rather than a "struct file *" since it conveys a bit more information, which may be useful to in particular fdescfs and /dev/fd/* For now pass -1 all over the place.
* Remove in toto coda_strategy which incorrectly implemented vop_panic();phk2003-06-151-23/+0
|
* Initialize struct vfsops C99-sparsely.phk2003-06-122-26/+18
| | | | | Submitted by: hmp Reviewed by: phk
* Use __FBSDID().obrien2003-06-107-27/+23
|
* - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread withjeff2003-03-311-14/+14
| | | | | | | a follow on commit to kern_sig.c - signotify() now operates on a thread since unmasked pending signals are stored in the thread. - PS_NEEDSIGCHK moves to TDF_NEEDSIGCHK.
* Deregister the dev_clone event handler we registered - don't touch thetjr2003-03-271-2/+4
| | | | handlers installed by other devices.
* Set f_fstypename in coda_nb_statfs().tjr2003-03-071-0/+1
|
* Add a temporary workaround for a deadlock in Coda venus 5.3.19 thattjr2003-03-062-2/+28
| | | | | | occurs when mounting the filesystem. The problem is that venus issues the mount() syscall, which calls vfs_mount(), which calls coda_root() which attempts to communicate with venus.
* VOP_PATHCONF returns a register_t, not an int. Noticed by phk.tjr2003-03-051-1/+1
|
* Add prototype for coda_pathconf() that I missed in the previous commit.tjr2003-03-051-0/+1
|
* Add a minimal implementation of VOP_PATHCONF to silence warningtjr2003-03-051-1/+29
| | | | messages from ls(1).
* Handle the case where a_uio->uio_td == NULL properly in coda_readlink().tjr2003-03-051-1/+2
| | | | This happens when called from lookup().
* Gigacommit to improve device-driver source compatibility betweenphk2003-03-031-13/+8
| | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl)
* msgphk2003-02-261-2/+0
|
* Back out M_* changes, per decision of the TRB.imp2003-02-191-1/+1
| | | | Approved by: trb
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-1/+1
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* Back our kernel support for reliable signal queues.jmallett2002-10-011-11/+7
| | | | Requested by: rwatson, phk, and many others
* When working with sigset_t's, and needing to perform masking operations basedjmallett2002-10-011-7/+11
| | | | | | on a process's pending signals, use the signal queue flattener, ksiginfo_to_sigset_t, on the process, and on a local sigset_t, and then work with that as needed.
* Fix these warns where sizeof(int) != sizeof(void *)njl2002-09-261-4/+4
| | | | | | | | | | | | | | | | /h/des/src/sys/coda/coda_venus.c: In function `venus_ioctl': /h/des/src/sys/coda/coda_venus.c:277: warning: cast from pointer to integer of different size /h/des/src/sys/coda/coda_venus.c:292: warning: cast from pointer to integer of different size /h/des/src/sys/coda/coda_venus.c: In function `venus_readlink': /h/des/src/sys/coda/coda_venus.c:380: warning: cast from pointer to integer of different size /h/des/src/sys/coda/coda_venus.c: In function `venus_readdir': /h/des/src/sys/coda/coda_venus.c:637: warning: cast from pointer to integer of different size Submitted by: des-alpha-tinderbox
* - Use vrefcnt() instead of directly accessing v_usecount.jeff2002-09-253-19/+21
|
* Attempt to fix the error reported by the alpha tinderbox. A pointeriedowse2002-09-221-2/+2
| | | | | was being cast to an integer as part of a hash function, so just add an intptr_t cast to silence the warning.
* Remove all use of vnode->v_tag, replacing with appropriate substitutes.njl2002-09-141-1/+1
| | | | | | | | | | | | v_tag is now const char * and should only be used for debugging. Additionally: 1. All users of VT_NTS now check vfsconf->vf_type VFCF_NETWORK 2. The user of VT_PROCFS now checks for the new flag VV_PROCDEP, which is propagated by pseudofs to all child vnodes if the fs sets PFS_PROCDEP. Suggested by: phk Reviewed by: bde, rwatson (earlier version)
* Fix typo in the last revision.mike2002-08-041-1/+1
| | | | Noticed by: i386 tinderbox
* - Replace v_flag with v_iflag and v_vflagjeff2002-08-043-5/+9
| | | | | | | | | | | | | | | - v_vflag is protected by the vnode lock and is used when synchronization with VOP calls is needed. - v_iflag is protected by interlock and is used for dealing with vnode management issues. These flags include X/O LOCK, FREE, DOOMED, etc. - All accesses to v_iflag and v_vflag have either been locked or marked with mp_fixme's. - Many ASSERT_VOP_LOCKED calls have been added where the locking was not clear. - Many functions in vfs_subr.c were restructured to provide for stronger locking. Idea stolen from: BSD/OS
* More s/file system/filesystem/gtrhodes2002-05-1611-18/+20
|
* Make daddr_t and u_daddr_t 64bits wide.phk2002-05-141-1/+1
| | | | | | Retire daddr64_t and use daddr_t instead. Sponsored by: DARPA & NAI Labs.
* Don't put a line break in string literals. GCC 3.1 complains and GCCmarcel2002-04-201-13/+10
| | | | 3.2 drops the ball.
* Lock proctree_lock instead of pgrpsess_lock.jhb2002-04-161-2/+2
|
* Moved signal handling and rescheduling from userret() to ast() so thatbde2002-04-041-0/+1
| | | | | | | | | | | they aren't in the usual path of execution for syscalls and traps. The main complication for this is that we have to set flags to control ast() everywhere that changes the signal mask. Avoid locking in userret() in most of the remaining cases. Submitted by: luoqi (first part only, long ago, reorganized by me) Reminded by: dillon
* Remove __P.alfred2002-03-203-35/+35
|
* Add a flags parameter to VFS_VGET to pass through the desiredmckusick2002-03-171-1/+1
| | | | | | | | | | | | locking flags when acquiring a vnode. The immediate purpose is to allow polling lock requests (LK_NOWAIT) needed by soft updates to avoid deadlock when enlisting other processes to help with the background cleanup. For the future it will allow the use of shared locks for read access to vnodes. This change touches a lot of files as it affects most filesystems within the system. It has been well tested on FFS, loopback, and CD-ROM filesystems. only lightly on the others, so if you find a problem there, please let me (mckusick@mckusick.com) know.
* Introduce the new 64-bit size disk block, daddr64_t. Changemckusick2002-03-151-2/+2
| | | | | | | | | | | | the bio and buffer structures to have daddr64_t bio_pblkno, b_blkno, and b_lblkno fields which allows access to disks larger than a Terabyte in size. This change also requires that the VOP_BMAP vnode operation accept and return daddr64_t blocks. This delta should not affect system operation in any way. It merely sets up the necessary interfaces to allow the development of disk drivers that work with these larger disk block addresses. It also allows for the development of UFS2 which will use 64-bit block addresses.
* Simple p_ucred -> td_ucred changes to start using the per-thread ucredjhb2002-02-271-2/+2
| | | | reference.
* Fix LINT breakage by adding a missing include.tmm2002-02-231-0/+1
|
* Lock struct pgrp, session and sigio.tanimura2002-02-231-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | New locks are: - pgrpsess_lock which locks the whole pgrps and sessions, - pg_mtx which protects the pgrp members, and - s_mtx which protects the session members. Please refer to sys/proc.h for the coverage of these locks. Changes on the pgrp/session interface: - pgfind() needs the pgrpsess_lock held. - The caller of enterpgrp() is responsible to allocate a new pgrp and session. - Call enterthispgrp() in order to enter an existing pgrp. - pgsignal() requires a pgrp lock held. Reviewed by: jhb, alfred Tested on: cvsup.jp.FreeBSD.org (which is a quad-CPU machine running -current)
* Staticise the coda vfsop pointer.msmith2002-01-082-2/+1
|
* Update to C99, s/__FUNCTION__/__func__/,obrien2001-12-103-3/+3
| | | | also don't use ANSI string concatenation.
* Change the vnode list under the mount point from a LIST to a TAILQdillon2001-10-231-2/+2
| | | | | | in preparation for an implementation of limiting code for kern.maxvnodes. MFC after: 3 days
* Fixed bitrot in a banal comment by removing the comment.bde2001-10-131-1/+1
|
* Backed out vestiges of the quick fixes for the transient breakage ofbde2001-10-134-4/+0
| | | | | <sys/mount.h> in rev.1.106 of the latter (don't include <sys/socket.h> just to work around bugs in <sys/mount.h>).
OpenPOWER on IntegriCloud