aboutsummaryrefslogtreecommitdiff
path: root/sys/miscfs/fifofs
Commit message (Collapse)AuthorAgeFilesLines
* - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION fileRuslan Ermilov2001-05-232-631/+0
| | | | | | | | | | | | | | | | | | systems were repo-copied from sys/miscfs to sys/fs. - Renamed the following file systems and their modules: fdesc -> fdescfs, portal -> portalfs, union -> unionfs. - Renamed corresponding kernel options: FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS. - Install header files for the above file systems. - Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland Makefiles. Notes: svn path=/head/; revision=77031
* Add a vop_stdbmap(), and make it part of the default vop vector.Poul-Henning Kamp2001-04-291-28/+0
| | | | | | | | | Make 7 filesystems which don't really know about VOP_BMAP rely on the default vector, rather than more or less complete local vop_nopbmap() implementations. Notes: svn path=/head/; revision=76131
* Extend kqueue down to the device layer.Jonathan Lemon2001-02-151-30/+36
| | | | | | | Backwards compatible approach suggested by: peter Notes: svn path=/head/; revision=72521
* Introduce vop_stdinactive() and make it the default if no vop_inactivePoul-Henning Kamp2000-08-181-15/+1
| | | | | | | | | is declared. Sort and prune a few vop_op[]. Notes: svn path=/head/; revision=64819
* Add snapshots to the fast filesystem. Most of the changes supportKirk McKusick2000-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). Notes: svn path=/head/; revision=62976
* Back out the previous change to the queue(3) interface.Jake Burkholder2000-05-261-2/+2
| | | | | | | | | It was not discussed and should probably not happen. Requested by: msmith and others Notes: svn path=/head/; revision=60938
* Change the way that the queue(3) structures are declared; don't assume thatJake Burkholder2000-05-231-2/+2
| | | | | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd Notes: svn path=/head/; revision=60833
* Introduce kqueue() and kevent(), a kernel event notification facility.Jonathan Lemon2000-04-161-0/+86
| | | | Notes: svn path=/head/; revision=59288
* Introduce NDFREE (and remove VOP_ABORTOP)Eivind Eklund1999-12-151-1/+0
| | | | Notes: svn path=/head/; revision=54655
* $Id$ -> $FreeBSD$Peter Wemm1999-08-282-2/+2
| | | | Notes: svn path=/head/; revision=50477
* Back out DIAGNOSTIC changes.Eivind Eklund1998-02-061-3/+1
| | | | Notes: svn path=/head/; revision=33134
* Turn DIAGNOSTIC into a new-style option.Eivind Eklund1998-02-041-1/+3
| | | | Notes: svn path=/head/; revision=33108
* Set the sender's low watermark to match the maximum size for atomicBruce Evans1997-12-191-1/+2
| | | | | | | writes that we advertise (PIPE_BUF = 512). Notes: svn path=/head/; revision=31860
* Fixed EOF handing.Bruce Evans1997-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. Notes: svn path=/head/; revision=31701
* Restored fifo_pathconf() from rev.1.32. vop_stdpathconf() is tooBruce Evans1997-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. Notes: svn path=/head/; revision=31700
* Don't include <sys/lock.h> in headers when only `struct simplelock' isBruce Evans1997-12-051-1/+2
| | | | | | | required. Fixed everything that depended on the pollution. Notes: svn path=/head/; revision=31561
* Use unique sleep message strings.Bruce Evans1997-10-271-4/+3
| | | | Notes: svn path=/head/; revision=30784
* Removed unused #includes. The need for most of them went away withBruce Evans1997-10-271-2/+1
| | | | | | | recent changes (docluster* and vfs improvements). Notes: svn path=/head/; revision=30780
* VFS interior redecoration.Poul-Henning Kamp1997-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. Notes: svn path=/head/; revision=30743
* VFS clean up "hekto commit"Poul-Henning Kamp1997-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. Notes: svn path=/head/; revision=30496
* Another VFS cleanup "kilo commit"Poul-Henning Kamp1997-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!!!) Notes: svn path=/head/; revision=30492
* VFS mega cleanup commit (x/N)Poul-Henning Kamp1997-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!) Notes: svn path=/head/; revision=30474
* vnops megacommitPoul-Henning Kamp1997-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. Notes: svn path=/head/; revision=30439
* Hmm, realign the vnops into two columns.Poul-Henning Kamp1997-10-151-8/+8
| | | | Notes: svn path=/head/; revision=30434
* Stylistic overhaul of vnops tables.Poul-Henning Kamp1997-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. Notes: svn path=/head/; revision=30431
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.Poul-Henning Kamp1997-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 Notes: svn path=/head/; revision=30354
* Convert select -> poll.Peter Wemm1997-09-142-18/+19
| | | | | | | | Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries. Notes: svn path=/head/; revision=29362
* Removed unused #includes.Bruce Evans1997-09-021-6/+1
| | | | Notes: svn path=/head/; revision=29041
* Fix all areas of the system (or at least all those in LINT) to avoid storingGarrett Wollman1997-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. Notes: svn path=/head/; revision=28270
* Don't include <sys/ioctl.h> in the kernel. Stage 3: includeBruce Evans1997-03-241-2/+2
| | | | | | | <sys/filio.h> instead of <sys/ioctl.h> in non-network non-tty files. Notes: svn path=/head/; revision=24205
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.Bruce Evans1997-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. Notes: svn path=/head/; revision=24131
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-222-2/+2
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* Rstored #include of <sys/kernel.h> so that this compilesMike Pritchard1997-02-121-0/+1
| | | | | | | | | without warnings again. Submitted by: bde Notes: svn path=/head/; revision=22600
* This is the kernel Lite/2 commit. There are some requisite userlandJohn Dyson1997-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> Notes: svn path=/head/; revision=22521
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-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. Notes: svn path=/head/; revision=21673
* Fixed errno for unsupported advisory locks. The errno is now EINVALBruce Evans1996-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 Notes: svn path=/head/; revision=20687
* Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel.Bruce Evans1996-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. Notes: svn path=/head/; revision=18020
* Kill XNS.Garrett 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...) Notes: svn path=/head/; revision=14093
* Another mega commit to staticize things.Poul-Henning Kamp1995-12-142-12/+13
| | | | Notes: svn path=/head/; revision=12820
* Back out this one, must have screwed up somewhere :-(Poul-Henning Kamp1995-12-112-8/+12
| | | | Notes: svn path=/head/; revision=12771
* Staticize.Poul-Henning Kamp1995-12-112-12/+8
| | | | Notes: svn path=/head/; revision=12769
* Completed function declarations and/or added prototypes.Bruce Evans1995-11-211-4/+3
| | | | Notes: svn path=/head/; revision=12453
* Introduced a type `vop_t' for vnode operation functions and usedBruce Evans1995-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. Notes: svn path=/head/; revision=12158
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countJohn Dyson1995-09-041-1/+5
| | | | | | | for VOP_BMAP. Updated affected filesystems... Notes: svn path=/head/; revision=10551
* Allow a pipe to be opened read/write at one end, as is allowed inJordan K. Hubbard1995-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 Notes: svn path=/head/; revision=9973
* Remove trailing whitespace.Rodney W. Grimes1995-05-301-4/+4
| | | | Notes: svn path=/head/; revision=8876
* Add and move declarations to fix all of the warnings from `gcc -Wimplicit'Bruce Evans1995-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. Notes: svn path=/head/; revision=7090
* YFfixPoul-Henning Kamp1995-02-141-1/+2
| | | | Notes: svn path=/head/; revision=6364
* Fixed bmap run-length brokeness.David Greenman1995-02-031-1/+3
| | | | | | | | | Use bmap run-length extension when doing clustered paging. Submitted by: John Dyson Notes: svn path=/head/; revision=6151
* GCC cleanup.Poul-Henning Kamp1994-10-021-20/+24
| | | | | | | | | Reviewed by: Submitted by: Obtained from: Notes: svn path=/head/; revision=3311