summaryrefslogtreecommitdiffstats
path: root/sys/fs
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of caddr_t.des2003-03-022-2/+2
|
* More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).des2003-03-025-14/+14
|
* Clean up whitespace, s/register //, refrain from strong urge to ANSIfy.des2003-03-027-70/+70
|
* uiomove-related caddr_t -> void * (just the low-hanging fruit)des2003-03-027-12/+10
|
* wakeup(9) and msleep(9) take void * arguments, not caddr_t.des2003-03-021-3/+3
|
* NODEVFS cleanup:phk2003-03-021-4/+3
| | | | Replace devfs_{create,destroy} hooks with direct function calls.
* Copy some VM changes from smbfs_putpages() to nwfs_putpages(): locktjr2003-02-271-1/+3
| | | | page queues, use vm_page_undirty().
* Fix vnode corruption bug when trying to rename files across filesystems.tjr2003-02-271-10/+13
| | | | Similar to the bug fixed in smbfs_vnops.c rev 1.33.
* Sync nwfs_access() with smbfs_access(): use vaccess() instead of checkingtjr2003-02-271-13/+5
| | | | permissions ourself, fixes problem with VAPPEND.
* Catch up with recent netncp changes: ncp_chkintr() takes a thread, nottjr2003-02-271-1/+1
| | | | a proc, as its second argument.
* Change the process flags P_KSES to be P_THREADED.julian2003-02-271-1/+1
| | | | This is just a cosmetic change but I've been meaning to do it for about a year.
* msgphk2003-02-261-2/+0
|
* Do not call smbfs_attr_cacheremove() in the EXDEV case in smbfs_rename().tjr2003-02-191-5/+9
| | | | | | | | | One of the vnodes is on different mount and is possibly on a different kind of filesystem; treating it as an smbfs vnode then writing to it will probably corrupt it. PR: 48381 MFC after: 1 month
* Back out M_* changes, per decision of the TRB.imp2003-02-1936-93/+93
| | | | Approved by: trb
* Use the SI_CANDELETE flag on the dev_t rather than the D_CANFREE flagphk2003-02-111-3/+1
| | | | on the cdevsw to determine ability to handle the BIO_DELETE request.
* - Cleanup unlocked accesses to buf flags by introducing a new b_vflag memberjeff2003-02-093-154/+9
| | | | | | | | | | that is protected by the vnode lock. - Move B_SCANNED into b_vflags and call it BV_SCANNED. - Create a vop_stdfsync() modeled after spec's sync. - Replace spec_fsync, msdos_fsync, and hpfs_fsync with the stdfsync and some fs specific processing. This gives all of these filesystems proper behavior wrt MNT_WAIT/NOWAIT and the use of the B_SCANNED flag. - Annotate the locking in buf.h
* Revert removal of vnode and VFS stubs; bp asserts that they are needed.tjr2003-02-083-3/+107
|
* Garbage-collect stub VFS ops, use the defaults instead.tjr2003-02-071-45/+3
|
* Garbage-collect stub vnode ops, use the defaults instead.tjr2003-02-072-62/+0
|
* Add missing permission checks to the smbfs VOP_SETATTR vnode op for thetjr2003-02-041-0/+5
| | | | | | case where the caller requests to change access or modification times. MFC after: 3 days
* Split the global timezone structure into two integer fields tophk2003-02-033-6/+6
| | | | | | | | | | prevent the compiler from optimizing assignments into byte-copy operations which might make access to the individual fields non-atomic. Use the individual fields throughout, and don't bother locking them with Giant: it is no longer needed. Inspired by: tjr
* Use vaccess() instead of rolling our own access checks. This fixes a bugtjr2003-02-031-12/+6
| | | | | where requests to open a file in append mode were always denied, and will also be useful when capabilities and auditing are implemented.
* NODEVFS cleanup: remove #ifdefs.phk2003-01-294-8/+0
|
* Escape the backslash in badchars so that smbfs_pathcheck() correctlytjr2003-01-291-1/+1
| | | | | | rejects pathnames with backslashes in them (and to avoid a syntax error). Found by: FlexeLint
* Do not allow a cached vnode to be shared among multiple mounts of the sametjr2003-01-281-1/+2
| | | | | | | | | kind of pseudofs-based filesystem. Fixes (at least) one problem where when procfs is mounted mupltiple times, trying to unmount one will often cause the wrong one to get unmounted, and other problem where mounting one procfs on top of another caused the kernel to lock up. Reviewed by: des
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-2136-93/+93
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* GC an unused reference to vop_refreshlabel_desc; reference torwatson2003-01-211-3/+0
| | | | | | | opt_mac.h was removed previously so it was never compiled in. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Originally when DEVFS was added, a global variable "devfs_present"phk2003-01-191-1/+0
| | | | | | | | | | | | was used to control code which were conditional on DEVFS' precense since this avoided the need for large-scale source pollution with #include "opt_geom.h" Now that we approach making DEVFS standard, replace these tests with an #ifdef to facilitate mechanical removal once DEVFS becomes non-optional. No functional change by this commit.
* Fake up a struct componentname to pass to VOP_WHITEOUT instead of passingtjr2003-01-181-1/+10
| | | | | | NULL. union_whiteout() expects the componentname argument to be non-NULL. Fixes a NULL dereference panic when an existing union mount becomes the upper layer of a new union mount.
* Even if the permissions deny it, a process should be allowed tophk2003-01-131-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | access its controlling terminal. In essense, history dictates that any process is allowed to open /dev/tty for RW, irrespective of credential, because by definition it is it's own controlling terminal. Before DEVFS we relied on a hacky half-device thing (kern/tty_tty.c) which did the magic deep down at device level, which at best was disgusting from an architectural point of view. My first shot at this was to use the cloning mechanism to simply give people the right tty when they ask for /dev/tty, that's why you get this, slightly counter intuitive result: syv# ls -l /dev/tty `tty` crw--w---- 1 u1 tty 5, 0 Jan 13 22:14 /dev/tty crw--w---- 1 u1 tty 5, 0 Jan 13 22:14 /dev/ttyp0 Trouble is, when user u1 su(1)'s to user u2, he cannot open /dev/ttyp0 anymore because he doesn't have permission to do so. The above fix allows him to do that. The interesting side effect is that one was previously only able to access the controlling tty by indirection: date > /dev/tty but not by name: date > `tty` This is now possible, and that feels a lot more like DTRT. PR: 46635 MFC candidate: could be.
* Bow to the whining masses and change a union back into void *. Retaindillon2003-01-135-11/+12
| | | | | removal of unnecessary casts and throw in some minor cleanups to see if anyone complains, just for the hell of it.
* Change struct file f_data to un_data, a union of the correct structdillon2003-01-125-11/+11
| | | | | | | | | | pointer types, and remove a huge number of casts from code using it. Change struct xfile xf_data to xun_data (ABI is still compatible). If we need to add a #define for f_data and xf_data we can, but I don't think it will be necessary. There are no operational changes in this commit.
* Add symlink support to devfs_rule_matchpath(). This allows the userdd2003-01-111-1/+2
| | | | to unhide symlinks as well as hide them.
* Don't override the vop_lock, vop_unlock and vop_isunlocked methods.phk2003-01-051-3/+0
| | | | | | | | | | | | Previously all filesystems which relied on specfs to do devices would have private overrides for vop_std*, so the vop_no* overrides here had no effect. I overlooked the transitive nature of the vop vectors when I removed the vop_std* in those filesystems. Removing the override here restores device node locking to it's previous modus operandi. Spotted by: bde
* Don't take the detour over VOP_STRATEGY from spec_getpages, call ourphk2003-01-051-1/+1
| | | | own strategy directly.
* Split out the vnode and buf arguments to the internal strategy workerphk2003-01-051-13/+3
| | | | routine instead of doing evil casts.
* Repair vnode locking in portal_lookup(). Specifically, lock the filetjr2003-01-051-2/+10
| | | | | | vnode, and unlock the parent directory vnode if LOCKPARENT is not set. Obtained from: NetBSD (rev. 1.34)
* Temporarily introduce a new VOP_SPECSTRATEGY operation while I tryphk2003-01-045-6/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | to sort out disk-io from file-io in the vm/buffer/filesystem space. The intent is to sort VOP_STRATEGY calls into those which operate on "real" vnodes and those which operate on VCHR vnodes. For the latter kind, the call will be changed to VOP_SPECSTRATEGY, possibly conditionally for those places where dual-use happens. Add a default VOP_SPECSTRATEGY method which will call the normal VOP_STRATEGY. First time it is called it will print debugging information. This will only happen if a normal vnode is passed to VOP_SPECSTRATEGY by mistake. Add a real VOP_SPECSTRATEGY in specfs, which does what VOP_STRATEGY does on a VCHR vnode today. Add a new VOP_STRATEGY method in specfs to catch instances where the conversion to VOP_SPECSTRATEGY has not yet happened. Handle the request just like we always did, but first time called print debugging information. Apart up to two instances of console messages per boot, this amounts to a glorified no-op commit. If you get any of the messages on your console I would very much like a copy of them mailed to phk@freebsd.org
* resort vnode ops listphk2003-01-041-3/+3
|
* Replace spec_bmap() with vop_panic: We should never BMAP a device backedphk2003-01-041-35/+1
| | | | vnode only filesystem backed vnodes.
* Since Jeffr made the std* functions the default in rev 1.63 ofphk2003-01-0411-40/+0
| | | | | | | kern/vfs_defaults.c it is wrong for the individual filesystems to use the std* functions as that prevents override of the default. Found by: src/tools/tools/vop_table
* Convert calls to BUF_STRATEGY to VOP_STRATEGY calls. This is a no-op sincephk2003-01-031-1/+1
| | | | all BUF_STRATEGY did in the first place was call VOP_STRATEGY.
* Remove unused second argument from DEV_STRATEGY().phk2003-01-031-3/+3
|
* Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/schweikh2002-12-303-3/+3
| | | | Add FreeBSD Id tag where missing.
* There is some sort of race/deadlock which I have not identifiedphk2002-12-291-1/+6
| | | | | | | | | | here. It manifests itself by sendmail hanging in "fifoow" during boot on a diskless machine with sendmail disabled. Giving the sleep a 1sec timout breaks the deadlock, but does not solve the underlying problem. XXX comment applied.
* Abstract-out the constants for the sequential heuristic.dillon2002-12-281-1/+1
| | | | | | No operational changes. MFC after: 1 day
* Trim left-over and unused vop_refreshlabel() bits from devfs.rwatson2002-12-281-23/+0
| | | | Reported by: bde
* Remove redundant check for negative or zero v_usecount; vrele() alreadytjr2002-12-151-14/+7
| | | | checks that.
* Keep trying to flush the vnode list for the mount while some are stilltjr2002-12-133-2/+19
| | | | | | | | | busy and we are making progress towards making them not busy. This is needed because smbfs vnodes reference their parent directory but may appear after their parent in the mount's vnode list; one pass over the list is not sufficient in this case. This stops attempts to unmount idle smbfs mounts failing with EBUSY.
* Fix build with SMB_VNODE_DEBUG defined; use td_proc->p_pid instead oftjr2002-12-131-1/+2
| | | | the nonexistent td_pid.
OpenPOWER on IntegriCloud