| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Pseudo-FS need not fill in the va_fsid anymore, the syscall code
will use the first half of the fsid, which now looks like a udev_t
with major 255.
Notes:
svn path=/head/; revision=48468
|
|
|
|
|
|
|
| |
enotsupp implementations.
Notes:
svn path=/head/; revision=42568
|
|
|
|
|
|
|
| |
and local variables, goto labels, and functions declared but not defined.
Notes:
svn path=/head/; revision=41591
|
|
|
|
|
|
|
|
|
|
|
|
| |
references to them.
The change a couple of days ago to ignore these numbers in statically
configured vfsconf structs was slightly premature because the cd9660,
cfs, devfs, ext2fs, nfs vfs's still used MOUNT_* instead of the number
in their vfsconf struct.
Notes:
svn path=/head/; revision=38909
|
|
|
|
| |
Notes:
svn path=/head/; revision=36873
|
|
|
|
|
|
|
| |
supported.
Notes:
svn path=/head/; revision=36840
|
|
|
|
| |
Notes:
svn path=/head/; revision=36117
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reverse the VFS_VRELE patch. Reference counting of vnodes does not need
to be done per-fs. I noticed this while fixing vfs layering violations.
Doing reference counting in generic code is also the preference cited by
John Heidemann in recent discussions with him.
The implementation of alternative vnode management per-fs is still a valid
requirement for some filesystems but will be revisited sometime later,
most likely using a different framework.
Submitted by: Michael Hancock <michaelh@cet.co.jp>
Notes:
svn path=/head/; revision=35769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They are atomic, but return in essence what is in the "time" variable.
gettime() is now a macro front for getmicrotime().
Various patches to use the two new functions instead of the various
hacks used in their absence.
Some puntuation and grammer patches from Bruce.
A couple of XXX comments.
Notes:
svn path=/head/; revision=34901
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a complement to all ops that return a vpp, VFS_VRELE. This is
initially only for file systems that implement the following ops
that do a WILLRELE:
vop_create, vop_whiteout, vop_mknod, vop_remove, vop_link,
vop_rename, vop_mkdir, vop_rmdir, vop_symlink
This is initial DNA that doesn't do anything yet. VFS_VRELE is
implemented but not called.
A default vfs_vrele was created for fs implementations that use the
standard vnode management routines.
VFS_VRELE implementations were made for the following file systems:
Standard (vfs_vrele)
ffs mfs nfs msdosfs devfs ext2fs
Custom
union umapfs
Just EOPNOTSUPP
fdesc procfs kernfs portal cd9660
These implementations may change as VOP changes are implemented.
In the next phase, in the vop implementations calls to vrele and the vrele
part of vput will be moved to the top layer vfs_vnops and made visible
to all layers. vput will be replaced by unlock in these cases. Unlocking
will still be done in the per fs layer but the refcount decrement will be
triggered at the top because it doesn't hurt to hold a vnode reference a
little longer. This will have minimal impact on the structure of the
existing code.
This will only be done for vnode arguments that are released by the various
fs vop implementations.
Wider use of VFS_VRELE will likely require restructuring of the code.
Reviewed by: phk, dyson, terry et. al.
Submitted by: Michael Hancock <michaelh@cet.co.jp>
Notes:
svn path=/head/; revision=33964
|
|
|
|
|
|
|
|
|
| |
at least mp->mnt_stat.f_iosize being nonzero.
PR: 5212
Notes:
svn path=/head/; revision=32150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Delete 'always succeed' select/poll handlers, replaced with generic call.
Flag missing vnode op table entries.
Notes:
svn path=/head/; revision=29362
|
|
|
|
| |
Notes:
svn path=/head/; revision=29179
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
ready for it yet.
Notes:
svn path=/head/; revision=22975
|
|
|
|
|
|
|
|
|
| |
Also made a few of the miscfs routines static to be
consistent. Some modules simply required some additional
#includes to remove -Wall warnings.
Notes:
svn path=/head/; revision=22579
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Notes:
svn path=/head/; revision=12769
|
|
|
|
|
|
|
| |
Removed some unnecessary #includes.
Notes:
svn path=/head/; revision=12595
|
|
|
|
|
|
|
|
|
|
| |
Fixed the type of portal_fhtovp(). The args had little resemblance to
the correct ones.
Added prototypes.
Notes:
svn path=/head/; revision=12335
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
function prototype.
Notes:
svn path=/head/; revision=11333
|
|
|
|
| |
Notes:
svn path=/head/; revision=8876
|
|
|
|
|
|
|
|
| |
(except in netccitt, netiso and netns) that I didn't notice when I fixed
"all" such warnings before.
Notes:
svn path=/head/; revision=7430
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VFCF_NETWORK (this FS goes over the net)
VFCF_READONLY (read-write mounts do not make any sense)
VFCF_SYNTHETIC (data in this FS is not real)
VFCF_LOOPBACK (this FS aliases something else)
cd9660 is readonly; nullfs, umapfs, and union are loopback; NFS is netowkr;
procfs, kernfs, and fdesc are synthetic.
Notes:
svn path=/head/; revision=7095
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
| |
Notes:
svn path=/head/; revision=3496
|
|
|
|
| |
Notes:
svn path=/head/; revision=3034
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
Notes:
svn path=/head/; revision=2979
|
|
|
|
|
|
|
| |
loadable. (NFS is a notable exception.)
Notes:
svn path=/head/; revision=2946
|
|
|
|
|
|
|
|
|
|
|
| |
use of timeout_t -> timeout_func_t in aha1542 and aha1742 drivers.
2) fix a bug in the portalfs that was uncovered by better prototyping -
specifically, the time must be converted from timeval to timespec
before storing in va_atime.
3) fixed/added some miscellaneous prototypes
Notes:
svn path=/head/; revision=2142
|
|
|
|
|
|
|
|
| |
Reviewed by: Rodney W. Grimes
Submitted by: John Dyson and David Greenman
Notes:
svn path=/head/; revision=1549
|
|
Notes:
svn path=/head/; revision=1541
|