summaryrefslogtreecommitdiffstats
path: root/sys/miscfs/fifofs
Commit message (Collapse)AuthorAgeFilesLines
* Introduce vop_stdinactive() and make it the default if no vop_inactivephk2000-08-181-15/+1
| | | | | | is declared. Sort and prune a few vop_op[].
* Add snapshots to the fast filesystem. Most of the changes supportmckusick2000-07-111-0/+1
| | | | | | | | | | | | | | | | | | | | 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).
* Back out the previous change to the queue(3) interface.jake2000-05-261-2/+2
| | | | | | 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-231-2/+2
| | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd
* Introduce kqueue() and kevent(), a kernel event notification facility.jlemon2000-04-161-0/+86
|
* Introduce NDFREE (and remove VOP_ABORTOP)eivind1999-12-151-1/+0
|
* $Id$ -> $FreeBSD$peter1999-08-282-2/+2
|
* Back out DIAGNOSTIC changes.eivind1998-02-061-3/+1
|
* Turn DIAGNOSTIC into a new-style option.eivind1998-02-041-1/+3
|
* Set the sender's low watermark to match the maximum size for atomicbde1997-12-191-1/+2
| | | | writes that we advertise (PIPE_BUF = 512).
* Fixed EOF handing.bde1997-12-131-8/+2
| | | | | | | | | | | | | | | | | | 1. SS_CANTRCVMORE was initially set on the wrong socket, so reads when there has never been a writer on the socket did not return 0. Note that such reads are only possible if the fifo was opened in (O_RDONLY | O_NONBLOCK) mode. 2. SS_CANTSENDMORE was initially set on the wrong socket, but this was harmless because the wrong socket is never sent from and there is no need to set the flag initially on the right socket (since open in (O_WRONLY | O_NONBLOCK) mode fails if there is no reader...). 3. SS_CANTRCVMORE was cleared when read() returns. This broke the case where read() returns 0 - subsequent reads are supposed to return 0 until a writer appears. There is no need to clear the flag when read() returns, since it is cleared correctly when a writer appears.
* Restored fifo_pathconf() from rev.1.32. vop_stdpathconf() is toobde1997-12-131-2/+32
| | | | | | | | | general to be of much use. Using it here weakened the _PC_MAX_CANON, _PC_MAX_INPUT and _PC_VDISABLE cases. fifo_pathconf() is not quite correct either. _PC_CHOWN_RESTRICTED and _PC_LINK_MAX should be handled by the host file system. For directories, the host file system should let us handle _PC_PIPE_BUF.
* Don't include <sys/lock.h> in headers when only `struct simplelock' isbde1997-12-051-1/+2
| | | | required. Fixed everything that depended on the pollution.
* Use unique sleep message strings.bde1997-10-271-4/+3
|
* Removed unused #includes. The need for most of them went away withbde1997-10-271-2/+1
| | | | recent changes (docluster* and vfs improvements).
* VFS interior redecoration.phk1997-10-261-18/+7
| | | | | | | | | | | | | Rename vn_default_error to vop_defaultop all over the place. Move vn_bwrite from vfs_bio.c to vfs_default.c and call it vop_stdbwrite. Use vop_null instead of nullop. Move vop_nopoll from vfs_subr.c to vfs_default.c Move vop_sharedlock from vfs_subr.c to vfs_default.c Move vop_nolock from vfs_subr.c to vfs_default.c Move vop_nounlock from vfs_subr.c to vfs_default.c Move vop_noislocked from vfs_subr.c to vfs_default.c Use vop_ebadf instead of *_ebadf. Add vop_defaultop for getpages on master vnode in MFS.
* VFS clean up "hekto commit"phk1997-10-161-4/+1
| | | | | | | | | | 1. Add defaults for more VOPs VOP_LOCK vop_nolock VOP_ISLOCKED vop_noislocked VOP_UNLOCK vop_nounlock and remove direct reference in filesystems. 2. Rename the nfsv2 vnop tables to improve sorting order.
* Another VFS cleanup "kilo commit"phk1997-10-161-35/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS} intereface function, and now lives in the ufsmount structure. 2. Remove VOP_SEEK, it was unused. 3. Add mode default vops: VOP_ADVLOCK vop_einval VOP_CLOSE vop_null VOP_FSYNC vop_null VOP_IOCTL vop_enotty VOP_MMAP vop_einval VOP_OPEN vop_null VOP_PATHCONF vop_einval VOP_READLINK vop_einval VOP_REALLOCBLKS vop_eopnotsupp And remove identical functionality from filesystems 4. Add vop_stdpathconf, which returns the canonical stuff. Use it in the filesystems. (XXX: It's probably wrong that specfs and fifofs sets this vop, shouldn't it come from the "host" filesystem, for instance ufs or cd9660 ?) 5. Try to make system wide VOP functions have vop_* names. 6. Initialize the um_* vectors in LFS. (Recompile your LKMS!!!)
* VFS mega cleanup commit (x/N)phk1997-10-161-8/+1
| | | | | | | | | | | | | | | | | | | | | | | 1. Add new file "sys/kern/vfs_default.c" where default actions for VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE, POLL, REVOKE and STRATEGY. Various stuff spread over the entire tree belongs here. 2. Change VOP_BLKATOFF to a normal function in cd9660. 3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These are private interface functions between UFS and the underlying storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now live in struct ufsmount instead. 4. Remove a kludge of VOP_ functions in all filesystems, that did nothing but obscure the simplicity and break the expandability. If a filesystem doesn't implement VOP_FOO, it shouldn't have an entry for it in its vnops table. The system will try to DTRT if it is not implemented. There are still some cruft left, but the bulk of it is done. 5. Fix another VCALL in vfs_cache.c (thanks Bruce!)
* vnops megacommitphk1997-10-152-88/+70
| | | | | | | | | | 1. Use the default function to access all the specfs operations. 2. Use the default function to access all the fifofs operations. 3. Use the default function to access all the ufs operations. 4. Fix VCALL usage in vfs_cache.c 5. Use VOCALL to access specfs functions in devfs_vnops.c 6. Staticize most of the spec and fifofs vnops functions. 7. Make UFS panic if it lacks bits of the underlying storage handling.
* Hmm, realign the vnops into two columns.phk1997-10-151-8/+8
|
* Stylistic overhaul of vnops tables.phk1997-10-151-45/+44
| | | | | | | 1. Remove comment stating the blatantly obvious. 2. Align in two columns. 3. Sort all but the default element alphabetically. 4. Remove XXX comments pointing out entries not needed.
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.phk1997-10-121-2/+2
| | | | | | | | Distribute all but the most fundamental malloc types. This time I also remembered the trick to making things static: Put "static" in front of them. A couple of finer points by: bde
* Convert select -> poll.peter1997-09-142-18/+19
| | | | | Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries.
* Removed unused #includes.bde1997-09-021-6/+1
|
* Fix all areas of the system (or at least all those in LINT) to avoid storingwollman1997-08-161-3/+4
| | | | | | | | socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family.
* Don't include <sys/ioctl.h> in the kernel. Stage 3: includebde1997-03-241-2/+2
| | | | <sys/filio.h> instead of <sys/ioctl.h> in non-network non-tty files.
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.bde1997-03-231-1/+2
| | | | | Fixed everything that depended on getting fcntl.h stuff from the wrong place. Most things don't depend on file.h stuff at all.
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notpeter1997-02-222-2/+2
| | | | ready for it yet.
* Rstored #include of <sys/kernel.h> so that this compilesmpp1997-02-121-0/+1
| | | | | | without warnings again. Submitted by: bde
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-02-102-92/+95
| | | | | | | | | | | | | | | changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org>
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-01-142-2/+2
| | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise.
* Fixed errno for unsupported advisory locks. The errno is now EINVALbde1996-12-191-2/+2
| | | | | | | | | | | | | | | | | | fcntl() and EOPNOTSUPP for flock(). POSIX specifies the weaker EINVAL errno and the man page agrees. Not fixed: deadfs: always returns wrong EBADF devfs, msdosfs: always return sometimes-wrong EINVAL cd9660, fdesc, kernfs, portal: always return sometimes-wrong EOPNOTSUPP procfs: always returns wrong EIO mfs: panic?! nfs: fudged NetBSD uses a generic file system genfs to do return the sometimes-wrong EOPNOTSUPP more consistently :-)(. Found by: NIST-PCTS
* Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel.bde1996-09-031-1/+2
| | | | | | | Include it directly in the few places where it is used. Reduced some #includes of <sys/file.h> to #includes of <sys/fcntl.h> or nothing.
* Kill XNS.wollman1996-02-131-3/+3
| | | | | While we're at it, fix socreate() to take a process argument. (This was supposed to get committed days ago...)
* Another mega commit to staticize things.phk1995-12-142-12/+13
|
* Back out this one, must have screwed up somewhere :-(phk1995-12-112-8/+12
|
* Staticize.phk1995-12-112-12/+8
|
* Completed function declarations and/or added prototypes.bde1995-11-211-4/+3
|
* Introduced a type `vop_t' for vnode operation functions and usedbde1995-11-092-46/+46
| | | | | | | | | | | | | | | it 1138 times (:-() in casts and a few more times in declarations. This change is null for the i386. The type has to be `typedef int vop_t(void *)' and not `typedef int vop_t()' because `gcc -Wstrict-prototypes' warns about the latter. Since vnode op functions are called with args of different (struct pointer) types, neither of these function types is any use for type checking of the arg, so it would be preferable not to use the complete function type, especially since using the complete type requires adding 1138 casts to avoid compiler warnings and another 40+ casts to reverse the function pointer conversions before calling the functions.
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countdyson1995-09-041-1/+5
| | | | for VOP_BMAP. Updated affected filesystems...
* Allow a pipe to be opened read/write at one end, as is allowed injkh1995-08-061-15/+28
| | | | | | | SunOS and SCO. You can then even use the pipe as a cheap fifo stack (yuck!). A semantic change also important (but not limited) to iBCS2 compatibility. Submitted by: swallace
* Remove trailing whitespace.rgrimes1995-05-301-4/+4
|
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'bde1995-03-162-2/+5
| | | | | | (except in netccitt, netiso and netns) and most of the warnings from `gcc -Wnested-externs'. Fix all the bugs found. There were no serious ones.
* YFfixphk1995-02-141-1/+2
|
* Fixed bmap run-length brokeness.dg1995-02-031-1/+3
| | | | | | Use bmap run-length extension when doing clustered paging. Submitted by: John Dyson
* GCC cleanup.phk1994-10-021-20/+24
| | | | | | Reviewed by: Submitted by: Obtained from:
* More loadable VFS changes:wollman1994-09-222-4/+3
| | | | | | | | - Make a number of filesystems work again when they are statically compiled (blush) - FIFOs are no longer optional; ``options FIFO'' removed from distributed config files.
* Implemented loadable VFS modules, and made most existing filesystemswollman1994-09-211-1/+3
| | | | loadable. (NFS is a notable exception.)
* Added $Id$dg1994-08-022-0/+2
|
OpenPOWER on IntegriCloud