History log of /src/sys/fs/v7fs/v7fs_extern.c |
Revision | | Date | Author | Comments |
1.9 |
| 18-Jul-2021 |
dholland | 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.
|
1.8 |
| 29-Jun-2021 |
dholland | - 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.
|
1.7 |
| 16-May-2020 |
christos | branches: 1.7.6; Add ACL support for FFS. From FreeBSD.
|
1.6 |
| 28-May-2018 |
chs | add a genfs method to allow a file system to limit the range of pages that are given to a single GOP_WRITE() call. needed by ZFS.
|
1.5 |
| 17-Feb-2017 |
hannken | branches: 1.5.12; Add generic genfs_suspendctl() and use it for all file systems. Layered file systems need work.
|
1.4 |
| 29-Dec-2014 |
hannken | branches: 1.4.2; 1.4.4; Change v7fs to vcache.
|
1.3 |
| 25-Jul-2014 |
dholland | branches: 1.3.4; 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.
|
1.2 |
| 23-Mar-2014 |
hannken | branches: 1.2.2; Change all vfsops to use C99 designated initializers.
No functional changes intended.
|
1.1 |
| 27-Jun-2011 |
uch | branches: 1.1.2; 1.1.12; 1.1.16; 7th Edition(V7) File System support. and NetBSD symbolic-link, socket, FIFO extension. see newfs_v7fs(8).
|
1.1.16.1 |
| 18-May-2014 |
rmind | sync with head
|
1.1.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.12.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.1.2.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.3.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.3.4.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.4.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.4.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.5.12.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.7.6.1 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|