aboutsummaryrefslogtreecommitdiff
path: root/sys/ufs/lfs
Commit message (Collapse)AuthorAgeFilesLines
* Retire LFS.Poul-Henning Kamp1998-01-3015-5017/+0
| | | | | | | | | | | | | | | If you want to play with it, you can find the final version of the code in the repository the tag LFS_RETIREMENT. If somebody makes LFS work again, adding it back is certainly desireable, but as it is now nobody seems to care much about it, and it has suffered considerable bitrot since its somewhat haphazard integration. R.I.P Notes: svn path=/head/; revision=32889
* Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.Eivind Eklund1998-01-241-1/+3
| | | | | | | | | | | This introduce an xxxFS_BOOT for each of the rootable filesystems. (Presently not required, but encouraged to allow a smooth move of option *FS to opt_dontuse.h later.) LFS is temporarily disabled, and will be re-enabled tomorrow. Notes: svn path=/head/; revision=32726
* Add better support for larger I/O clusters, including larger physicalJohn Dyson1998-01-241-5/+5
| | | | | | | | I/O. The support is not mature yet, and some of the underlying implementation needs help. However, support does exist for IDE devices now. Notes: svn path=/head/; revision=32724
* In all such uses of struct buf: 's/b_un.b_addr/b_data/g'Poul-Henning Kamp1997-12-021-2/+2
| | | | Notes: svn path=/head/; revision=31493
* Use the same algorithm as ffs for generation numbers.Bruce Evans1997-12-021-6/+3
| | | | Notes: svn path=/head/; revision=31485
* Reviewed by: various.Julian Elischer1997-11-121-2/+2
| | | | | | | | | | | | | | | | | | | Ever since I first say the way the mount flags were used I've hated the fact that modes, and events, internal and exported, and short-term and long term flags are all thrown together. Finally it's annoyed me enough.. This patch to the entire FreeBSD tree adds a second mount flag word to the mount struct. it is not exported to userspace. I have moved some of the non exported flags over to this word. this means that we now have 8 free bits in the mount flags. There are another two that might well move over, but which I'm not sure about. The only user visible change would have been in pstat -v, except that davidg has disabled it anyhow. I'd still like to move the state flags and the 'command' flags apart from each other.. e.g. MNT_FORCE really doesn't have the same semantics as MNT_RDONLY, but that's left for another day. Notes: svn path=/head/; revision=31132
* Move the "retval" (3rd) parameter from all syscall functions and putPoul-Henning Kamp1997-11-061-9/+5
| | | | | | | | | | | | | | | it in struct proc instead. This fixes a boatload of compiler warning, and removes a lot of cruft from the sources. I have not removed the /*ARGSUSED*/, they will require some looking at. libkvm, ps and other userland struct proc frobbing programs will need recompiled. Notes: svn path=/head/; revision=30994
* Removed unused #includes. The need for most of them went away withBruce Evans1997-10-271-5/+1
| | | | | | | recent changes (docluster* and vfs improvements). Notes: svn path=/head/; revision=30780
* Another VFS cleanup "kilo commit"Poul-Henning Kamp1997-10-164-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove an overlapping variable I created in last round.Poul-Henning Kamp1997-10-162-21/+13
| | | | | | | | | | | Don't do pointer subtraction on void * Use VOP_STRATEGY instead of homegrown stuff. Add an XXX warning for LFS freaks to ponder. Notes: svn path=/head/; revision=30475
* VFS mega cleanup commit (x/N)Poul-Henning Kamp1997-10-165-59/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Two more places where root filesystems were mounted, put them at the head ofJulian Elischer1997-10-161-2/+2
| | | | | | | the mount list in case there is already DEVFS present. Notes: svn path=/head/; revision=30469
* vnops megacommitPoul-Henning Kamp1997-10-151-112/+6
| | | | | | | | | | | | | 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-23/+23
| | | | Notes: svn path=/head/; revision=30434
* Stylistic overhaul of vnops tables.Poul-Henning Kamp1997-10-151-145/+131
| | | | | | | | | | 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
* I think my previous change may have opened a race conditio.Poul-Henning Kamp1997-10-141-3/+1
| | | | | | | This patch does the same thing, with no change in semantics. Notes: svn path=/head/; revision=30418
* ufs_ihashrem() should not be called from the UFS layer, but from thePoul-Henning Kamp1997-10-141-1/+3
| | | | | | | | | lower layer (LFS/FFS/?) like the rest of the ihash functions. Otherwise it is impossible to make a lower layer that doesn't use the ihash facility. Notes: svn path=/head/; revision=30402
* Last major round (Unless Bruce thinks of somthing :-) of malloc changes.Poul-Henning Kamp1997-10-122-3/+9
| | | | | | | | | | | 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
* Use generic ufs_reclaim().Poul-Henning Kamp1997-10-103-27/+8
| | | | Notes: svn path=/head/; revision=30284
* Convert select -> poll.Peter Wemm1997-09-141-5/+19
| | | | | | | | Delete 'always succeed' select/poll handlers, replaced with generic call. Flag missing vnode op table entries. Notes: svn path=/head/; revision=29362
* Removed yet more vestiges of config-time swap configuration and/orBruce Evans1997-09-071-8/+4
| | | | | | | cleaned up nearby cruft. Notes: svn path=/head/; revision=29208
* Removed unused #includes.Bruce Evans1997-09-022-13/+2
| | | | Notes: svn path=/head/; revision=29041
* Change the 0xdeadb hack to a flag called VDOOMED.Poul-Henning Kamp1997-08-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Introduce VFREE which indicates that vnode is on freelist. Rename vholdrele() to vdrop(). Create vfree() and vbusy() to add/delete vnode from freelist. Add vfree()/vbusy() to keep (v_holdcnt != 0 || v_usecount != 0) vnodes off the freelist. Generalize vhold()/v_holdcnt to mean "do not recycle". Fix reassignbuf()s lack of use of vhold(). Use vhold() instead of checking v_cache_src list. Remove vtouch(), the vnodes are always vget'ed soon enough after for it to have any measuable effect. Add sysctl debug.freevnodes to keep track of things. Move cache_purge() up in getnewvnodes to avoid race. Decrement v_usecount after VOP_INACTIVE(), put a vhold() on it during VOP_INACTIVE() Unmacroize vhold()/vdrop() Print out VDOOMED and VFREE flags (XXX: should use %b) Reviewed by: dyson Notes: svn path=/head/; revision=28954
* Fix all areas of the system (or at least all those in LINT) to avoid storingGarrett Wollman1997-08-161-4/+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
* Removed unused #includes.Bruce Evans1997-08-027-30/+7
| | | | Notes: svn path=/head/; revision=27845
* Fix a problem with the VN device. Specifically, the VN device canJohn Dyson1997-06-152-2/+13
| | | | | | | | | | | | | cause a problem of spiraling death due to buffer resource limitations. The vfs_bio code in general had little ability to handle buffer resource management, and now it does. Also, there are a lot more knobs for tuning the vfs_bio code now. The knobs came free because of the need that there always be some immediately available buffers (non-delayed or locked) for use. Note that the buffer cache code is much less likely to get bogged down with lots of delayed writes, even more so than before. Notes: svn path=/head/; revision=26664
* Fix warnings (from LINT). Missing static prototype, missing vm includesPeter Wemm1997-05-251-1/+9
| | | | | | | for vnode_pager_setsize(). Notes: svn path=/head/; revision=26112
* Don't include <sys/ioctl.h> in the kernel. Stage 1: don't includeBruce Evans1997-03-241-2/+1
| | | | | | | | it when it is not used. In most cases, the reasons for including it went away when the special ioctl headers became self-sufficient. Notes: svn path=/head/; revision=24203
* Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.Bruce Evans1997-03-231-2/+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
* Merged the rest of lfs from Lite2. It compiles (uncleanly) but is asBruce Evans1997-03-239-185/+460
| | | | | | | unlikely to work as before. Notes: svn path=/head/; revision=24128
* Merged enough of lfs from Lite2 for mkdep of LINT to work again.Bruce Evans1997-03-222-177/+216
| | | | Notes: svn path=/head/; revision=24103
* Removed `volatile' from declaration of `time', and removed the resultingBruce Evans1997-03-221-2/+2
| | | | | | | | | | | null casts. `time' is nonvolatile for accesses within a region locked by splclock()/splx(). Accesses outside such a region are invalid, and splx() must have the side effect of potentially changing all global variables (since there are hundreds of sort of volatile variables like `time'), so declaring `time' as volatile didn't have any real benefits. Notes: svn path=/head/; revision=24102
* Fixed some invalid (non-atomic) accesses to `time', mostly ones of theBruce Evans1997-03-222-4/+4
| | | | | | | | | form `tv = time'. Use a new function gettime(). The current version just forces atomicicity without fixing precision or efficiency bugs. Simplified some related valid accesses by using the central function. Notes: svn path=/head/; revision=24101
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-2213-13/+13
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* This is the kernel Lite/2 commit. There are some requisite userlandJohn Dyson1997-02-102-9/+10
| | | | | | | | | | | | | | | | | | 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-1413-13/+13
| | | | | | | | | | | 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
* Whoops, I should've used the LINT config file. More ts -> tv changesNate Williams1996-09-201-4/+4
| | | | | | | for timespec structure. Notes: svn path=/head/; revision=18413
* Don't depend in the kernel on the gcc feature of doing arithmetic onBruce Evans1996-08-311-2/+2
| | | | | | | pointers of type `void *'. Warn about this in future. Notes: svn path=/head/; revision=17971
* Don't use NULL in non-pointer contexts.Bruce Evans1996-07-121-2/+2
| | | | Notes: svn path=/head/; revision=17108
* Clean up -Wunused warnings.Gary Palmer1996-06-121-1/+5
| | | | | | | Reviewed by: bde Notes: svn path=/head/; revision=16322
* Moved the fsnode MALLOC to before the call to getnewvnode() so that theDavid Greenman1996-06-121-2/+9
| | | | | | | | | | | process won't possibly block before filling in the fsnode pointer (v_data) which might be dereferenced during a sync since the vnode is put on the mnt_vnodelist by getnewvnode. Pointed out by Matt Day <mday@artisoft.com> Notes: svn path=/head/; revision=16312
* Removed bogus _BEGIN_DECLS/_END_DECLS.Bruce Evans1996-05-011-9/+4
| | | | | | | | | Removed unused struct tag declarations in cloned code. Added or cleaned up idempotency ifdefs. Notes: svn path=/head/; revision=15493
* Make type compatible with Lite2.Jeffrey Hsu1996-03-271-2/+2
| | | | | | | Submitted by: bde Notes: svn path=/head/; revision=14831
* Convert QUOTA to new-style option.Garrett Wollman1996-01-053-3/+9
| | | | Notes: svn path=/head/; revision=13260
* Fixed prototyping and staticizing for -DDEBUG case.Bruce Evans1995-12-222-8/+8
| | | | Notes: svn path=/head/; revision=12976
* Staticize.Poul-Henning Kamp1995-12-176-233/+82
| | | | Notes: svn path=/head/; revision=12911
* Untangled the vm.h include file spaghetti.David Greenman1995-12-073-3/+10
| | | | Notes: svn path=/head/; revision=12662
* Fixed compilation of lfs utilities which I broke the other day byBruce Evans1995-12-062-7/+15
| | | | | | | #including lfs_extern.h and goop to support it in lfs_conv.c. Notes: svn path=/head/; revision=12653
* Completed function declarations and/or added prototypes and/or #includesBruce Evans1995-12-033-5/+14
| | | | | | | to get the prototypes. Notes: svn path=/head/; revision=12590
* Included <sys/sysproto.h> to get central declarations for syscall argsBruce Evans1995-11-121-1/+10
| | | | | | | | | | | | | structs and prototypes for syscalls. Ifdefed duplicated decentralized declarations of args structs. It's convenient to have this visible but they are hard to maintain. Some are already different from the central declarations. 4.4lite2 puts them in comments in the function headers but I wanted to avoid the large changes for that. Notes: svn path=/head/; revision=12221