History log of /netbsd/sys/fs/sysvbfs/sysvbfs_vnops.c (Results 1 – 25 of 69)
Revision Date Author Comments
# 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 ...


123