| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=31493
|
| |
|
|
| |
Notes:
svn path=/head/; revision=31485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
recent changes (docluster* and vfs improvements).
Notes:
svn path=/head/; revision=30780
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
the mount list in case there is already DEVFS present.
Notes:
svn path=/head/; revision=30469
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=30434
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This patch does the same thing, with no change in semantics.
Notes:
svn path=/head/; revision=30418
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=30284
|
| |
|
|
|
|
|
|
| |
Delete 'always succeed' select/poll handlers, replaced with generic call.
Flag missing vnode op table entries.
Notes:
svn path=/head/; revision=29362
|
| |
|
|
|
|
|
| |
cleaned up nearby cruft.
Notes:
svn path=/head/; revision=29208
|
| |
|
|
| |
Notes:
svn path=/head/; revision=29041
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Notes:
svn path=/head/; revision=27845
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
for vnode_pager_setsize().
Notes:
svn path=/head/; revision=26112
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
unlikely to work as before.
Notes:
svn path=/head/; revision=24128
|
| |
|
|
| |
Notes:
svn path=/head/; revision=24103
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
ready for it yet.
Notes:
svn path=/head/; revision=22975
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
for timespec structure.
Notes:
svn path=/head/; revision=18413
|
| |
|
|
|
|
|
| |
pointers of type `void *'. Warn about this in future.
Notes:
svn path=/head/; revision=17971
|
| |
|
|
| |
Notes:
svn path=/head/; revision=17108
|
| |
|
|
|
|
|
| |
Reviewed by: bde
Notes:
svn path=/head/; revision=16322
|
| |
|
|
|
|
|
|
|
|
|
| |
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 unused struct tag declarations in cloned code.
Added or cleaned up idempotency ifdefs.
Notes:
svn path=/head/; revision=15493
|
| |
|
|
|
|
|
| |
Submitted by: bde
Notes:
svn path=/head/; revision=14831
|
| |
|
|
| |
Notes:
svn path=/head/; revision=13260
|
| |
|
|
| |
Notes:
svn path=/head/; revision=12976
|
| |
|
|
| |
Notes:
svn path=/head/; revision=12911
|
| |
|
|
| |
Notes:
svn path=/head/; revision=12662
|
| |
|
|
|
|
|
| |
#including lfs_extern.h and goop to support it in lfs_conv.c.
Notes:
svn path=/head/; revision=12653
|
| |
|
|
|
|
|
| |
to get the prototypes.
Notes:
svn path=/head/; revision=12590
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|