summaryrefslogtreecommitdiffstats
path: root/sys/fs
Commit message (Collapse)AuthorAgeFilesLines
* Certain error contitions cause msdosfs_rename() to decrement thedwmalone2000-07-141-2/+2
| | | | | | | | vnode reference count on 'fdvp' more times than it should. PR: 17347 Submitted by: Ian Dowse <iedowse@maths.tcd.ie> Approved by: bde
* Add snapshots to the fast filesystem. Most of the changes supportmckusick2000-07-115-12/+66
| | | | | | | | | | | | | | | | | | | | the gating of system calls that cause modifications to the underlying filesystem. The gating can be enabled by any filesystem that needs to consistently suspend operations by adding the vop_stdgetwritemount to their set of vnops. Once gating is enabled, the function vfs_write_suspend stops all new write operations to a filesystem, allows any filesystem modifying system calls already in progress to complete, then sync's the filesystem to disk and returns. The function vfs_write_resume allows the suspended write operations to begin again. Gating is not added by default for all filesystems as for SMP systems it adds two extra locks to such critical kernel paths as the write system call. Thus, gating should only be added as needed. Details on the use and current status of snapshots in FFS can be found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness is not included here. Unless and until you create a snapshot file, these changes should have no effect on your system (famous last words).
* Previous commit changing SYSCTL_HANDLER_ARGS violated KNF.phk2000-07-041-2/+2
| | | | Pointed out by: bde
* Pull the rug under block mode devices. they return ENXIO on open(2) now.phk2000-07-031-3/+3
|
* Style police catches up with rev 1.26 of src/sys/sys/sysctl.h:phk2000-07-031-2/+2
| | | | | | | | Sanitize SYSCTL_HANDLER_ARGS so that simplistic tools can grog our sources: -sysctl_vm_zone SYSCTL_HANDLER_ARGS +sysctl_vm_zone (SYSCTL_HANDLER_ARGS)
* Fix memory leakage on module unload.bp2000-06-293-1/+12
| | | | Spotted by: fixed INVARIANTS code
* Fix memory leakage on module unload.bp2000-06-293-1/+12
| | | | Spotted by: fixed INVARIANTS code
* fdesc_getattr:chris2000-06-281-6/+2
| | | | | | Don't fake any file types, just set vap->va_type to IFTOVT(stb.st_mode). If something does not report its mode, vap->va_type is set to VNON accordingly.
* by changing the logic here we can support dynamic additions of newalfred2000-06-271-19/+12
| | | | | | filetypes. Reviewed by: green
* if there are leading zeros fail the lookupalfred2000-06-271-0/+5
| | | | Pointed out by: Alexander Viro <viro@math.psu.edu>
* Remove obsolete comment.bp2000-06-251-5/+0
| | | | Submitted by: Marius Bendiksen <mbendiks@eunet.no>
* Rename the `VRXEC' macro used to clear read and exec bits to `FDRX' sochris2000-06-201-3/+3
| | | | as not to impede upon VFS namespace.
* Virtualizes & untangles the bioops operations vector.phk2000-06-161-3/+2
| | | | Ref: Message-ID: <18317.961014572@critter.freebsd.dk> To: current@
* Remove unused include <sys/socketvar.h>.chris2000-06-151-1/+0
|
* Replace vattr_null() with VATTR_NULL() and do not explicity set vattrchris2000-06-151-4/+2
| | | | fields to VNOVAL afterwards.
* before this commit, specfs reported disk partitionsjmb2000-06-121-1/+1
| | | | | | | | | using decimal major and minor numbers. "ls -l" reports disk partitions using decimal major numbers and hex minor numbers. make specfs use decimal major numbers and hex minor numbers, just like "ls -l"
* Instead of completely disallowing VOP_SETATTR, just do it where there ischris2000-06-061-2/+6
| | | | | | an underlying vnode. Suggested by: bde
* Update the comment for fdesc_setattr to reflect that we no longerchris2000-06-021-1/+1
| | | | actually setattr() on underlying vnodes.
* - Do not allow VOP_SETATTR to modify underlying vnodes at all. This causedchris2000-06-022-6/+0
| | | | | | | | | | | | problems when fetch(1) was passed `-o -'. The rationale of this change is that applications attempting to change underlying vnodes for /dev/fd nodes are improperly written and the use of this interface should not ever have been encouraged. Proper alternatives are fchmod, fchown and others. PR: 18952 - Remove stale, unused fdescnode->fd_link structure member.
* Back out the previous change to the queue(3) interface.jake2000-05-2616-20/+20
| | | | | | It was not discussed and should probably not happen. Requested by: msmith and others
* Change the way that the queue(3) structures are declared; don't assume thatjake2000-05-2316-20/+20
| | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd
* Adapt fdesc to be mounted on /dev/fd and remove fd, stdin, stdout andchris2000-05-112-439/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | stderr nodes. More specific items of this patch: o Removed support for symbolic links, and the need for fdesc_readlink(). o Put all the code from fdesc_attr() into fdesc_getattr() and removed fdesc_attr(). This also made it easier to properly give all nodes unique inode numbers. o The removal of all non-fd nodes allowed the removal of the fdesc_read(), fdesc_write(), and fdesc_ioctl() nodes, since we no longer have nodes that get special handling. o Correct the component name validity-checking in fdesc_lookup(). It previously detected the end of the string by checking for a terminating NUL, now it uses cnp->cn_namelen. o Handle kqueue files as FIFOs. This is probably the closest file type to represent this type of file there is, and it is unfortunately not very representative of a kqueue. Creation time is not supported by kqueue, so ctime, mtime and atime are all set to the current time when getattr() was called. o Also set st_[mca]time to the current time since there's no data in socket structures that can be used to fill this in (FIFOs). o Simplify fdesc_readdir() since it only has to report the numbered fd nodes. Add `.' and `..' directory links as well. o Remove read bits from directories as they tend to confuse programs like tar(1). Reviewed by: phk Discussed with: bde (earlier on, not quite review)
* Change the "bdev-whiner" to whine when open is attempted and extendphk2000-05-091-0/+9
| | | | the deadline a month.
* Separate the struct bio related stuff out of <sys/buf.h> intophk2000-05-0523-0/+23
| | | | | | | | | | | | | | | <sys/bio.h>. <sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes. Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data. Still a few bogus uses of struct buf to track down. Repocopy by: peter
* Remove 42 unneeded #include <sys/ioccom.h>.phk2000-05-031-1/+0
| | | | | | ioccom.h defines only implementation detail, and should therefore only be included from the #include which defines the ioctl tags, in other words: never include it from *.c
* Add $FreeBSD$peter2000-05-012-0/+3
|
* Remove unneeded #include <vm/vm_zone.h>phk2000-04-3010-10/+0
| | | | Generated by: src/tools/tools/kerninclude
* Remove unneeded #include <sys/kernel.h>phk2000-04-292-2/+0
|
* nwfs depends on ncppeter2000-04-291-0/+2
|
* Move procfs_fullpath() to vfs_cache.c, with a rename to textvp_fullpath().green2000-04-263-99/+2
| | | | | | | | | | There's no excuse to have code in synthetic filestores that allows direct references to the textvp anymore. Feature requested by: msmith Feature agreed to by: warner Move requested by: phk Move agreed to by: bde
* Quiet an unused variable warning by commenting out a variable declarationgreen2000-04-221-1/+1
| | | | that goes with a commented out statement.
* There's no reason to make "file" 0500 rather than 0555.green2000-04-221-1/+3
|
* Welcome back our old friend from procfs, "file"!green2000-04-223-19/+155
|
* Remove ~25 unneeded #include <sys/conf.h>phk2000-04-192-2/+0
| | | | Remove ~60 unneeded #include <sys/malloc.h>
* Remove unneeded <sys/buf.h> includes.phk2000-04-185-5/+0
| | | | | Due to some interesting cpp tricks in lockmgr, the LINT kernel shrinks by 924 bytes.
* Introduce kqueue() and kevent(), a kernel event notification facility.jlemon2000-04-161-0/+86
|
* Complete the bio/buf divorce for all code below devfs::strategyphk2000-04-154-7/+7
| | | | | | | | | | Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case. CCD not converted yet, casts to struct buf (still safe) atapi-cd casts to struct buf to examine B_PHYS
* Introduce extended attribute support for FFS, allowing arbitraryrwatson2000-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | (name, value) pairs to be associated with inodes. This support is used for ACLs, MAC labels, and Capabilities in the TrustedBSD security extensions, which are currently under development. In this implementation, attributes are backed to data vnodes in the style of the quota support in FFS. Support for FFS extended attributes may be enabled using the FFS_EXTATTR kernel option (disabled by default). Userland utilities and man pages will be committed in the next batch. VFS interfaces and man pages have been in the repo since 4.0-RELEASE and are unchanged. o ufs/ufs/extattr.h: UFS-specific extattr defines o ufs/ufs/ufs_extattr.c: bulk of support routines o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes o contrib/softupdates/ffs_softdep.c: extattr.h includes o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h (This should not be the case, and will be fixed in a future commit) Currently attributes are not supported in MFS. This will be fixed. Reviewed by: adrian, bp, freebsd-fs, other unthanked souls Obtained from: TrustedBSD Project
* Try to obtain timezone offset from an environment of mount program.bp2000-04-054-15/+16
| | | | This helps in cases where CMOS clock set to UTC time.
* Move B_ERROR flag to b_ioflags and call it BIO_ERROR.phk2000-04-026-10/+10
| | | | | | | | | | | | | (Much of this done by script) Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED. Move b_pblkno and b_iodone_chain to struct bio while we transition, they will be obsoleted once bio structs chain/stack. Add bio_queue field for struct bio aware disksort. Address a lot of stylistic issues brought up by bde.
* Commit the buffer cache cleanup patch to 4.x and 5.x. This patch fixes adillon2000-03-271-1/+3
| | | | | | | | | | | | | | | | fragmentation problem due to geteblk() reserving too much space for the buffer and imposes a larger granularity (16K) on KVA reservations for the buffer cache to avoid fragmentation issues. The buffer cache size calculations have been redone to simplify them (fewer defines, better comments, less chance of running out of KVA). The geteblk() fix solves a performance problem that DG was able reproduce. This patch does not completely fix the KVA fragmentation problems, but it goes a long way Mostly Reviewed by: bde and others Approved by: jkh
* Rename the existing BUF_STRATEGY() to DEV_STRATEGY()phk2000-03-201-3/+3
| | | | | | | | substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo) substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo) This patch is machine generated except for the ccd.c and buf.h parts.
* Remove B_READ, B_WRITE and B_FREEBUF and replace them with a newphk2000-03-205-8/+8
| | | | | | | | | | | | | | | | | | | | | field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set. B_WRITE was bogusly defined as zero giving rise to obvious coding mistakes. Also eliminate the redundant struct buf flag B_CALL, it can just as efficiently be done by comparing b_iodone to NULL. Should you get a panic or drop into the debugger, complaining about "b_iocmd", don't continue. It is likely to write on your disk where it should have been reading. This change is a step in the direction towards a stackable BIO capability. A lot of this patch were machine generated (Thanks to style(9) compliance!) Vinum users: Greg has not had time to test this yet, be careful.
* Eliminate the undocumented, experimental, non-delivering and highlyphk2000-03-161-2/+0
| | | | dangerous MAX_PERF option.
* Supported non-512 bytes/sector format.nyan2000-01-274-70/+61
| | | | | | | PR: misc/12992 Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata) and Dmitrij Tejblum <tejblum@arc.hq.cti.ru> Reviewed by: Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
* Fix bde'isms in acl/extattr syscall interface, renaming syscalls torwatson2000-01-192-3/+3
| | | | | | prettier (?) names, adding some const's around here, et al. Reviewed by: bde
* Check if module was compiled without SMP support and running onbp2000-01-151-0/+9
| | | | an SMP system.
* Add VT_NWFS tag.bp2000-01-151-4/+0
|
* Forward declare some structs so that this header is more self-suifficent.bde2000-01-144-0/+28
|
* Use MALLOC_DECLARE when it is #defined, not when a (wrong) test ofbde2000-01-141-1/+1
| | | | __FreeBSD_version succeeds.
OpenPOWER on IntegriCloud