#
f55bbd27 |
| 19-Jul-2021 |
dholland <dholland@NetBSD.org> |
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no pu
Abolish all the silly indirection macros for initializing vnode ops tables.
These are things of the form #define foofs_op genfs_op, or #define foofs_op genfs_eopnotsupp, or similar. They serve no purpose besides obfuscation, and have gotten cutpasted all over everywhere.
Part 2; cvs randomly didn't commit these changes before, and then hid them from me until I touched the files to force it to rethink. Dunno what happened.
There's probably more of these, going to have to scan the tree the hard way.
show more ...
|
#
d819c361 |
| 18-Jul-2021 |
dholland <dholland@NetBSD.org> |
Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain the portion of the vnode ops table declaration that is (cons
Use macros for the canned parts of device and fifo vnode op tables.
Add GENFS_SPECOP_ENTRIES and GENFS_FIFOOP_ENTRIES macros that contain the portion of the vnode ops table declaration that is (conservatively) the same in every fs. Use these in every fs that supports devices and/or fifos with separate ops tables.
Note that ptyfs works differently (it has one type of vnode with open-coded dispatch to the specfs code, which I haven't changed in this commit) and rump/librump/rumpvfs/rumpfs.c has an indirect dynamic dispatch that already does more or less the same thing, which I also haven't changed.
Also note that this anticipates a few bits in the next changeset here and there, and adds missing but unreachable calls in some cases (e.g. most fses weren't defining whiteout on devices and fifos, but it isn't reachable there), and it changes parsepath on devices and fifos to genfs_badop from genfs_parsepath (but it's not reachable there either).
It appears that devices in kernfs were missing kqfilter, so it's possible that if you try to use kqueue on /kern/rootdev that it'll explode.
And finally note that the ops declaration tables aren't order-dependent. (Other than vop_default_desc has to come first.) Otherwise this wouldn't work.
show more ...
|
#
c6c16cd0 |
| 29-Jun-2021 |
dholland <dholland@NetBSD.org> |
- Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table.
VOP_PARSEPATH takes a directory vnode
- Add a new vnode op: VOP_PARSEPATH. - Move namei_getcomponent to genfs_vnops.c and call it genfs_parsepath. - Add a parsepath entry to every vnode ops table.
VOP_PARSEPATH takes a directory vnode to be searched and a complete following path and chooses how much of that path to consume. To begin with, all parsepath calls are genfs_parsepath, which locates the first '/' as always.
Note that the call doesn't take the whole struct componentname, only the string. The other bits of struct componentname should not be needed and there's no reason to cause potential complications by exposing them.
show more ...
|
#
9aa2a9c3 |
| 16-May-2020 |
christos <christos@NetBSD.org> |
Add ACL support for FFS. From FreeBSD.
|
#
05d075b3 |
| 25-Jul-2014 |
dholland <dholland@NetBSD.org> |
Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can find.
The filesystem ones all call genfs_eopnotsupp - right now I am only implementing the plumbing and we can implement fallocate a
Add VOP_FALLOCATE and VOP_FDISCARD to every vnode ops table I can find.
The filesystem ones all call genfs_eopnotsupp - right now I am only implementing the plumbing and we can implement fallocate and/or fdiscard for files later.
The device ones call spec_fallocate (which is also genfs_eopnotsupp) and spec_fdiscard, which dispatches to the device-level op.
The fifo ones all call vn_fifo_bypass, which also ends up being EOPNOTSUPP.
show more ...
|
#
e63cf28e |
| 23-Nov-2013 |
rmind <rmind@NetBSD.org> |
- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n)
- Simplify tmpfs_update(), eliminate tmpfs_note_t::tn_status and deferred timestamp updates. Fix some incorrect updates and plug some missing ones. Should fix PR/48385. - tmpfs_rmdir: avoid O(n) scan when the directory is not empty and whiteout entries were never added.
show more ...
|
#
9d8a0628 |
| 24-May-2011 |
rmind <rmind@NetBSD.org> |
- Describe some locking. - Add VOP argument comments, add some asserts. - Update/fix/remove outdated/missleading comments. - Clean up, de-indent, KNF, misc.
No functional changes intended.
|
#
4537375a |
| 20-Jun-2008 |
skd <skd@NetBSD.org> |
add NULL arg so it will compile.
|
#
ce099b40 |
| 28-Apr-2008 |
martin <martin@NetBSD.org> |
Remove clause 3 and 4 from TNF licenses
|
#
1997a1e1 |
| 25-Jan-2008 |
ad <ad@NetBSD.org> |
Remove VOP_LEASE. Discussed on tech-kern.
|
#
95e1ffb1 |
| 11-Dec-2005 |
christos <christos@NetBSD.org> |
merge ktrace-lwp.
|
#
a748ea88 |
| 02-Nov-2005 |
yamt <yamt@NetBSD.org> |
merge yamt-vop branch. remove following VOPs.
VOP_BLKATOFF VOP_VALLOC VOP_BALLOC VOP_REALLOCBLKS VOP_VFREE VOP_TRUNCATE VOP_UPDATE
|
#
ba91bb71 |
| 02-Nov-2005 |
dyoung <dyoung@NetBSD.org> |
Bug fix: correct the sense of an if-condition in tmpfs_spec_close: because VOP_UPDATE() usually succeeded, spec_close() was not usually called. Only skip the spec_close() step if VOP_UPDATE() return
Bug fix: correct the sense of an if-condition in tmpfs_spec_close: because VOP_UPDATE() usually succeeded, spec_close() was not usually called. Only skip the spec_close() step if VOP_UPDATE() returns an error result. Now /dev/watchdog works as expected when /dev/ is a tmpfs; previously, it was impossible to disarm a user-tickled watchdog.
show more ...
|
#
b0085cab |
| 23-Sep-2005 |
jmmv <jmmv@NetBSD.org> |
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgemen
Kill the tmpfs(9) manual page; it was just documenting internal details of tmpfs' "API" and was already rotting.
Instead, merge all the relevant comments into the code. This includes acknowledgements to Google's Summer of Code 2005 program (they were in the AUTHORS section of tmpfs(9) before), so all the files need to be changed to include this sentence alongside the title. (Note that this was not a requirement of the program.)
show more ...
|
#
8e0a777a |
| 10-Sep-2005 |
jmmv <jmmv@NetBSD.org> |
wiz@ remembers that the preferred way to spell file-system in NetBSD is file system.
|
#
ec933656 |
| 10-Sep-2005 |
jmmv <jmmv@NetBSD.org> |
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a
Initial addition of tmpfs, an efficient memory file-system. This project was developed as part of Google's Summer of Code 2005 program. This change adds the kernel code, the mount_tmpfs utility, a regression test suite and does all other related changes to integrate these.
The file-system is still *experimental*. Therefore, it is disabled by default in all kernels. However, as typically done, a commented-out entry is added in them to ease its setup.
Note that I haven't commited the required mountd(8) changes to be able to export tmpfs file-systems because NFS support is still very unstable and because, before enabling it, I'd like to do some other changes.
OK'ed by my project mentor, William Studenmund (wrstuden@).
show more ...
|