#
709989ba |
| 19-Dec-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
nullfs: stop lying about mount flags in statfs(2)
Flags should not propagate from the lower fs. Behavior for the upper fs is determined by flags from its mount point structure. When lower fs acts
nullfs: stop lying about mount flags in statfs(2)
Flags should not propagate from the lower fs. Behavior for the upper fs is determined by flags from its mount point structure. When lower fs acts according to its mount configuration, it is reported up as VOP errors.
PR: 283425 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D48150
show more ...
|
Revision tags: release/14.2.0, release/13.4.0, release/14.1.0 |
|
#
2b258dd1 |
| 13-Apr-2024 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
nullfs: Show correct exported flag.
MFC after: 3 days Reviewed by: allanjude, kib Differential Revision: https://reviews.freebsd.org/D44773
|
#
4e8d264b |
| 08-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
nullfs_mount(): fix whitespace
|
#
8921216d |
| 08-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
nullfs: add -o cache
to allow overwrite global default if needed.
Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
07242933 |
| 08-Mar-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
nullfs_mount(): remove unneeded cast
Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
c849eb8f |
| 04-Mar-2024 |
Seigo Tanimura <seigo.tanimura@gmail.com> |
nullfs: Add the vfs.nullfs.cache_nodes sysctl to control nocache default
Differential revision: https://reviews.freebsd.org/D44217 MFC after: 1 week
|
Revision tags: release/13.3.0 |
|
#
29363fb4 |
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
b5c46165 |
| 26-Aug-2023 |
Doug Rabson <dfr@FreeBSD.org> |
Fix MNT_IGNORE for devfs, fdescfs and nullfs
The MNT_IGNORE flag can be used to mark certain filesystem mounts so that utilities such as df(1) and mount(8) can filter out those mounts by default. Th
Fix MNT_IGNORE for devfs, fdescfs and nullfs
The MNT_IGNORE flag can be used to mark certain filesystem mounts so that utilities such as df(1) and mount(8) can filter out those mounts by default. This can be used, for instance, to reduce the noise from running container workloads inside jails which often have at least three and sometimes as many as ten mounts per container.
The flag is supplied by the nmount(2) system call and is recorded so that it can be reported by statfs(2). Unfortunately several filesystems override the default behaviour and mask out the flag, defeating its purpose. This change preserves the MNT_IGNORE flag for those filesystems so that it can be reported correctly.
MFC after: 1 week
show more ...
|
#
2ff63af9 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
Revision tags: release/13.2.0 |
|
#
24641b8b |
| 08-Feb-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
nullfs: ansify
Reported by: clang 15 Sponsored by: Rubicon Communications, LLC ("Netgate")
|
Revision tags: release/12.4.0 |
|
#
521fbb72 |
| 23-Nov-2022 |
Doug Rabson <dfr@FreeBSD.org> |
Add support for mounting single files in nullfs
The main use-case for this is to support mounting config files and secrets into OCI containers. My current workaround copies the files into the contai
Add support for mounting single files in nullfs
The main use-case for this is to support mounting config files and secrets into OCI containers. My current workaround copies the files into the container which is messy and risks secrets leaking into container images if the cleanup fails.
This adds a VFCF flag to indicate whether the filesystem supports file mounts and allows fspath to be either a directory or a file if the flag is set.
Test Plan: $ sudo mkdir -p /mnt $ sudo touch /mnt/foo $ sudo mount -t nullfs /COPYRIGHT /mnt/foo
Reviewed by: mjg, kib Tested by: pho
show more ...
|
#
0ef861e6 |
| 20-Nov-2022 |
Jason A. Harmening <jah@FreeBSD.org> |
nullfs: adopt VV_CROSSLOCK
When the lower filesystem directory hierarchy is the same as the nullfs mount point (admittedly not likely to be a useful situation in practice), nullfs is subject to the
nullfs: adopt VV_CROSSLOCK
When the lower filesystem directory hierarchy is the same as the nullfs mount point (admittedly not likely to be a useful situation in practice), nullfs is subject to the exact deadlock between the busy count drain and the covered vnode lock that VV_CROSSLOCK is intended to address.
Reviewed by: kib Tested by: pho Differential Revision: https://reviews.freebsd.org/D37458
show more ...
|
Revision tags: release/13.1.0 |
|
#
bb92cd7b |
| 24-Mar-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: NDFREE(&nd, NDF_ONLY_PNBUF) -> NDFREE_PNBUF(&nd)
|
#
aeabf8d4 |
| 07-Mar-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
nullfs: hash insertion without vnode lock upgrade
Use the hash lock to serialize instead.
This enables shared-locked ".." lookups.
Reviewed by: markj Tested by: pho (previous version) Differential
nullfs: hash insertion without vnode lock upgrade
Use the hash lock to serialize instead.
This enables shared-locked ".." lookups.
Reviewed by: markj Tested by: pho (previous version) Differential Revision: https://reviews.freebsd.org/D34466
show more ...
|
Revision tags: release/12.3.0 |
|
#
7e1d3eef |
| 25-Nov-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the unused thread argument from NDINIT*
See b4a58fbf640409a1 ("vfs: remove cn_thread")
Bump __FreeBSD_version to 1400043.
|
#
c746ed72 |
| 12-Jun-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
Allow stacked filesystems to be recursively unmounted
In certain emergency cases such as media failure or removal, UFS will initiate a forced unmount in order to prevent dirty buffers from accumulat
Allow stacked filesystems to be recursively unmounted
In certain emergency cases such as media failure or removal, UFS will initiate a forced unmount in order to prevent dirty buffers from accumulating against the no-longer-usable filesystem. The presence of a stacked filesystem such as nullfs or unionfs above the UFS mount will prevent this forced unmount from succeeding.
This change addreses the situation by allowing stacked filesystems to be recursively unmounted on a taskqueue thread when the MNT_RECURSE flag is specified to dounmount(). This call will block until all upper mounts have been removed unless the caller specifies the MNT_DEFERRED flag to indicate the base filesystem should also be unmounted from the taskqueue.
To achieve this, the recently-added vfs_pin_from_vp()/vfs_unpin() KPIs have been combined with the existing 'mnt_uppers' list used by nullfs and renamed to vfs_register_upper_from_vp()/vfs_unregister_upper(). The format of the mnt_uppers list has also been changed to accommodate filesystems such as unionfs in which a given mount may be stacked atop more than one lower mount. Additionally, management of lower FS reclaim/unlink notifications has been split into a separate list managed by a separate set of KPIs, as registration of an upper FS no longer implies interest in these notifications.
Reviewed by: kib, mckusick Tested by: pho Differential Revision: https://reviews.freebsd.org/D31016
show more ...
|
#
59409cb9 |
| 18-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
Add a generic mechanism for preventing forced unmount
This is aimed at preventing stacked filesystems like nullfs and unionfs from "losing" their lower mounts due to forced unmount. Otherwise, VFS
Add a generic mechanism for preventing forced unmount
This is aimed at preventing stacked filesystems like nullfs and unionfs from "losing" their lower mounts due to forced unmount. Otherwise, VFS operations that are passed through to the lower filesystem(s) may crash or otherwise cause unpredictable behavior.
Introduce two new functions: vfs_pin_from_vp() and vfs_unpin(). which are intended to be called on the lower mount(s) when the stacked filesystem is mounted and unmounted, respectively. Much as registration in the mnt_uppers list previously did, pinning will prevent even forced unmount of the lower FS and will allow the stacked FS to freely operate on the lower mount either by direct use of the struct mount* or indirect use through a properly-referenced vnode's v_mount field.
vfs_pin_from_vp() is modeled after vfs_ref_from_vp() in that it uses the mount interlock coupled with re-checking vp->v_mount to ensure that it will fail in the face of a pending unmount request, even if the concurrent unmount fully completes.
Adopt these new functions in both nullfs and unionfs.
Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30401
show more ...
|
#
a4b07a27 |
| 11-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
VFS_QUOTACTL(9): allow implementation to indicate busy state changes
Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/ou
VFS_QUOTACTL(9): allow implementation to indicate busy state changes
Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/out param to VFS_QUOTACTL(9). The implementation may then indicate to the caller whether it needed to unbusy the mount.
Also, add stbool.h to libprocstat modules which #define _KERNEL before including sys/mount.h. Otherwise they'll pull in sys/types.h before defining _KERNEL and therefore won't have the bool definition they need for mp_busy.
Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30556
show more ...
|
#
271fcf1c |
| 30-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
Revert commits 6d3e78ad6c11 and 54256e7954d7
Parts of libprocstat like to pretend they're kernel components for the sake of including mount.h, and including sys/types.h in the _KERNEL case doesn't f
Revert commits 6d3e78ad6c11 and 54256e7954d7
Parts of libprocstat like to pretend they're kernel components for the sake of including mount.h, and including sys/types.h in the _KERNEL case doesn't fix the build for some reason. Revert both the VFS_QUOTACTL() change and the follow-up "fix" for now.
show more ...
|
#
6d3e78ad |
| 11-May-2021 |
Jason A. Harmening <jah@FreeBSD.org> |
VFS_QUOTACTL(9): allow implementation to indicate busy state changes
Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/ou
VFS_QUOTACTL(9): allow implementation to indicate busy state changes
Instead of requiring all implementations of vfs_quotactl to unbusy the mount for Q_QUOTAON and Q_QUOTAOFF, add an "mp_busy" in/out param to VFS_QUOTACTL(9). The implementation may then indicate to the caller whether it needed to unbusy the mount.
Reviewed By: kib, markj Differential Revision: https://reviews.freebsd.org/D30218
show more ...
|
Revision tags: release/13.0.0 |
|
#
e3c51151 |
| 29-Oct-2020 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Make it possible to mount nullfs(5) using plain mount(8) instead of mount_nullfs(8).
Obviously you'd need to force mount(8) to not call mount_nullfs(8) to make use of it.
Reviewed by: kib MFC after
Make it possible to mount nullfs(5) using plain mount(8) instead of mount_nullfs(8).
Obviously you'd need to force mount(8) to not call mount_nullfs(8) to make use of it.
Reviewed by: kib MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26934
show more ...
|
Revision tags: release/12.2.0 |
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
e81829d0 |
| 16-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r364264 through r364278.
|
#
a92a971b |
| 16-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: remove the thread argument from vget
It was already asserted to be curthread.
Semantic patch:
@@
expression arg1, arg2, arg3;
@@
- vget(arg1, arg2, arg3) + vget(arg1, arg2)
|
Revision tags: release/11.4.0 |
|
#
e43d33d2 |
| 05-Mar-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358466 through r358677.
|