#
8cf738c3 |
| 31-Jul-2022 |
mlelstv <mlelstv@NetBSD.org> |
Don't panic for a negative offset, just fail the operation with EINVAL.
|
#
8abbca48 |
| 20-Oct-2021 |
thorpej <thorpej@NetBSD.org> |
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), b
Overhaul of the EVFILT_VNODE kevent(2) filter:
- Centralize vnode kevent handling in the VOP_*() wrappers, rather than forcing each individual file system to deal with it (except VOP_RENAME(), because VOP_RENAME() is a mess and we currently have 2 different ways of handling it; at least it's reasonably well-centralized in the "new" way). - Add support for NOTE_OPEN, NOTE_CLOSE, NOTE_CLOSE_WRITE, and NOTE_READ, compatible with the same events in FreeBSD. - Track which kevent notifications clients are interested in receiving to avoid doing work for events no one cares about (avoiding, e.g. taking locks and traversing the klist to send a NOTE_WRITE when someone is merely watching for a file to be deleted, for example).
In support of the above:
- Add support in vnode_if.sh for specifying PRE- and POST-op handlers, to be invoked before and after vop_pre() and vop_post(), respectively. Basic idea from FreeBSD, but implemented differently. - Add support in vnode_if.sh for specifying CONTEXT fields in the vop_*_args structures. These context fields are used to convey information between the file system VOP function and the VOP wrapper, but do not occupy an argument slot in the VOP_*() call itself. These context fields are initialized and subsequently interpreted by PRE- and POST-op handlers. - Version VOP_REMOVE(), uses the a context field for the file system to report back the resulting link count of the target vnode. Return this in tmpfs, udf, nfs, chfs, ext2fs, lfs, and ufs.
NetBSD 9.99.92.
show more ...
|
#
b3477426 |
| 27-Jun-2020 |
christos <christos@NetBSD.org> |
Introduce genfs_pathconf() and use it for the default case in all filesystems.
|
#
b9c1fd7f |
| 16-May-2020 |
christos <christos@NetBSD.org> |
Add ACL support for FFS. From FreeBSD.
|
#
6c7e5f2a |
| 23-Apr-2020 |
ad <ad@NetBSD.org> |
PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)
- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed somewhere. Use it to decide whether
PR kern/54759 (vm.ubc_direct deadlock when read()/write() into mapping of itself)
- Add new flag UBC_ISMAPPED which tells ubc_uiomove() the object is mmap()ed somewhere. Use it to decide whether to do direct-mapped copy, rather than poking around directly in the vnode in ubc_uiomove(), which is ugly and doesn't work for tmpfs. It would be nicer to contain all this in UVM but the filesystem provides the needed locking here (VV_MAPPED) and to reinvent that would suck more.
- Rename UBC_UNMAP_FLAG() to UBC_VNODE_FLAGS(). Pass in UBC_ISMAPPED where appropriate.
show more ...
|
#
02443708 |
| 17-Jan-2020 |
ad <ad@NetBSD.org> |
VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to allow us to get shared locks (or no lock) on the returned vnode. Matches FreeBSD.
|
#
8320c7e7 |
| 26-May-2017 |
riastradh <riastradh@NetBSD.org> |
Make VOP_RECLAIM do the last unlock of the vnode.
VOP_RECLAIM naturally has exclusive access to the vnode, so having it locked on entry is not strictly necessary -- but it means if there are any fin
Make VOP_RECLAIM do the last unlock of the vnode.
VOP_RECLAIM naturally has exclusive access to the vnode, so having it locked on entry is not strictly necessary -- but it means if there are any final operations that must be done on the vnode, such as ffs_update, requiring exclusive access to it, we can now kassert that the vnode is locked in those operations.
We can't just have the caller release the last lock because some file systems don't use genfs_lock, and require the vnode to remain valid for VOP_UNLOCK to work, notably unionfs.
show more ...
|
#
d98376cb |
| 26-Apr-2017 |
riastradh <riastradh@NetBSD.org> |
Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
No change to vp -- the plan is to replace the node by the componentname in the vop parameters, and let all directory vops do lookups inte
Change VOP_REMOVE and VOP_RMDIR to preserve lock/ref on dvp.
No change to vp -- the plan is to replace the node by the componentname in the vop parameters, and let all directory vops do lookups internally.
Proposed on tech-kern with no objections: https://mail-index.netbsd.org/tech-kern/2017/04/17/msg021825.html
show more ...
|
#
dbfbfc16 |
| 11-Apr-2017 |
riastradh <riastradh@NetBSD.org> |
Make VOP_INACTIVE preserve vnode lock on return.
Discussed on tech-kern: https://mail-index.netbsd.org/tech-kern/2017/04/01/msg021751.html
Ride 7.99.68, a bumpy bus of incremental vfs improvements!
|
#
c5758170 |
| 20-Aug-2016 |
hannken <hannken@NetBSD.org> |
Remove now obsolete operation vcache_remove().
Welcome to 7.99.36
|
#
68fd7578 |
| 13-Nov-2015 |
pooka <pooka@NetBSD.org> |
Fix bug in readdir loop condition.
Reading all dirents using a small buffer and multiple calls now works.
Bug found by "Shamar" on #rumpkernel
|
#
27ee2829 |
| 04-Apr-2015 |
riastradh <riastradh@NetBSD.org> |
Make sure err is initialized.
|
#
c8b645b0 |
| 04-Apr-2015 |
riastradh <riastradh@NetBSD.org> |
Fix remaining read(fd, NULL, 1) cases.
|
#
9ab44bf5 |
| 26-Dec-2014 |
hannken <hannken@NetBSD.org> |
Change sysvbfs to vcache.
|
#
86795a1b |
| 26-Dec-2014 |
hannken <hannken@NetBSD.org> |
Sysvbfs_rename: Call bfs_file_delete(bfs, to_name, true) before calling bfs_file_rename() and remove the bfs_file_delete() from bfs_file_rename().
After calling bfs_file_rename() it was too late to
Sysvbfs_rename: Call bfs_file_delete(bfs, to_name, true) before calling bfs_file_rename() and remove the bfs_file_delete() from bfs_file_rename().
After calling bfs_file_rename() it was too late to set "tnode->removed" as the inode already disappeared.
show more ...
|
#
60bb46d9 |
| 08-Aug-2014 |
gson <gson@NetBSD.org> |
Whitespace fix
|
#
55cd8e93 |
| 07-Feb-2014 |
hannken <hannken@NetBSD.org> |
Change vnode operation lookup to return the resulting vnode *vpp unlocked. Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
|
#
c6e0548d |
| 23-Jan-2014 |
hannken <hannken@NetBSD.org> |
Change vnode operations create, mknod, mkdir and symlink to return the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
|
#
5e76d89d |
| 17-Jan-2014 |
hannken <hannken@NetBSD.org> |
Change vnode operations create, mknod, mkdir and symlink to keep the directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
|
#
998deabb |
| 09-Jan-2014 |
hannken <hannken@NetBSD.org> |
Operation sysvbfs_remove() destructs inodes attached to active vnodes. Defer the destruction to sysvbfs_reclaim().
Disable test t_renamerace:sysvbfs_renamerace as it will exhaust the inode table (sy
Operation sysvbfs_remove() destructs inodes attached to active vnodes. Defer the destruction to sysvbfs_reclaim().
Disable test t_renamerace:sysvbfs_renamerace as it will exhaust the inode table (sysvbfs has space for 8 inodes only).
Ok: Izumi Tsutsui <tsutsui@netbsd.org>
show more ...
|
#
d05d50dd |
| 24-Dec-2013 |
hannken <hannken@NetBSD.org> |
It is not the task of sysvbfs_open() to check for unlinked nodes.
|
#
216182cc |
| 15-May-2013 |
pooka <pooka@NetBSD.org> |
Don't change a read-only file system.
|
#
e5c652ae |
| 18-Mar-2013 |
plunky <plunky@NetBSD.org> |
C99 section 6.7.2.3 (Tags) Note 3 states that:
A type specifier of the form
enum identifier
without an enumerator list shall only appear after the type it specifies is complete.
which mean
C99 section 6.7.2.3 (Tags) Note 3 states that:
A type specifier of the form
enum identifier
without an enumerator list shall only appear after the type it specifies is complete.
which means that we cannot pass an "enum vtype" argument to kauth_access_action() without fully specifying the type first. Unfortunately there is a complicated include file loop which makes that difficult, so convert this minimal function into a macro (and capitalize it).
(ok elad@)
show more ...
|
#
bcf9c543 |
| 11-Jun-2012 |
agc <agc@NetBSD.org> |
cosmetic change: fix two casts to be of the appropriate type
|
#
a31dc77f |
| 08-May-2012 |
tsutsui <tsutsui@NetBSD.org> |
Move bfs_file_setsize() from bfs.c to sysvbfs_vnops.c (and rename it to sysvbfs_file_setsize()) because it's actually part of vnode ops and bfs.c is also pulled by standalone bootloaders which don't
Move bfs_file_setsize() from bfs.c to sysvbfs_vnops.c (and rename it to sysvbfs_file_setsize()) because it's actually part of vnode ops and bfs.c is also pulled by standalone bootloaders which don't want vnode header mess.
show more ...
|