#
a15f787a |
| 15-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add vfs_ref_from_vp
This generalizes what vop_stdgetwritemount used to be doing.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D28695
|
#
82397d79 |
| 01-Jan-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: denote vnode being a mount point with VIRF_MOUNTPOINT
Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D27794
|
#
164438a7 |
| 26-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
More careful handling of the mount failure.
- VFS_UNMOUNT() requires vn_start_write() around it [*]. - call VFS_PURGE() before unmount. - do not destroy mp if cleanup unmount did not succeed. - set
More careful handling of the mount failure.
- VFS_UNMOUNT() requires vn_start_write() around it [*]. - call VFS_PURGE() before unmount. - do not destroy mp if cleanup unmount did not succeed. - set MNTK_UNMOUNT, and indicate forced unmount with MNTK_UNMOUNTF for VFS_UNMOUNT() in cleanup.
PR: 251320 [*] Reported by: Tong Zhang <ztong0001@gmail.com> Reviewed by: markj, mjg Discussed with: rmacklem Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D27327
show more ...
|
#
f6dd1aef |
| 10-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: group mount per-cpu vars into one struct
While here move frequently read stuff into the same cacheline.
This shrinks struct mount by 64 bytes.
Tested by: pho
|
#
f1084587 |
| 05-Nov-2020 |
Konstantin Belousov <kib@FreeBSD.org> |
Suspend all writeable local filesystems on power suspend.
This ensures that no writes are pending in memory, either metadata or user data, but not including dirty pages not yet converted to fs write
Suspend all writeable local filesystems on power suspend.
This ensures that no writes are pending in memory, either metadata or user data, but not including dirty pages not yet converted to fs writes.
Only filesystems declared local are suspended.
Note that this does not guarantee absence of the metadata errors or leaks if resume is not done: for instance, on UFS unlinked but opened inodes are leaked and require fsck to gc.
Reviewed by: markj Discussed with: imp Tested by: imp (previous version), pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D27054
show more ...
|
#
2dee296a |
| 05-Nov-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Rationalize per-cpu zones.
The 2 provided zones had inconsistent naming between each other ("int" and "64") and other allocator zones (which use bytes).
Follow malloc by naming them "pcpu-" + size
Rationalize per-cpu zones.
The 2 provided zones had inconsistent naming between each other ("int" and "64") and other allocator zones (which use bytes).
Follow malloc by naming them "pcpu-" + size in bytes.
This is a step towards replacing ad-hoc per-cpu zones with general slabs.
show more ...
|
Revision tags: release/12.2.0 |
|
#
ad89066a |
| 17-Oct-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: annotate mountlist_mtx with __exclusive_cache_line
|
#
a3d9bf49 |
| 23-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
cache: drop the force flag from purgevfs
The optional scan is wasteful, thus it is removed altogether from unmount.
Callers which always want it anyway remain unaffected.
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
df665abd |
| 26-Aug-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix a "v_seqc_users == 0 not met" panic when VFS_STATFS() fails during mount.
r363210 introduced v_seqc_users to the vnodes. This change requires a vn_seqc_write_end() to match the vn_seqc_write_be
Fix a "v_seqc_users == 0 not met" panic when VFS_STATFS() fails during mount.
r363210 introduced v_seqc_users to the vnodes. This change requires a vn_seqc_write_end() to match the vn_seqc_write_begin() in vfs_cache_root_clear(). mjg@ provided this patch which seems to fix the panic.
Tested for an NFS mount where the VFS_STATFS() call will fail.
Submitted by: mjg Reviewed by: mjg Differential Revision: https://reviews.freebsd.org/D26160
show more ...
|
#
773e541e |
| 21-Aug-2020 |
Warner Losh <imp@FreeBSD.org> |
Use devctl.h instead of bus.h to reduce newbus pollution.
There's no need for these parts of the kernel to know about newbus, so narrow what is included to devctl.h for device_notify_*.
Suggested b
Use devctl.h instead of bus.h to reduce newbus pollution.
There's no need for these parts of the kernel to know about newbus, so narrow what is included to devctl.h for device_notify_*.
Suggested by: kib@
show more ...
|
#
0f2c2c1c |
| 20-Aug-2020 |
Warner Losh <imp@FreeBSD.org> |
Use names suggested by kib@ in review D25969, move call for unmount to not call with vnode locked, use NOWAIT alloc and only report when we don't overflow.
These changes were accidentally omitted fr
Use names suggested by kib@ in review D25969, move call for unmount to not call with vnode locked, use NOWAIT alloc and only report when we don't overflow.
These changes were accidentally omitted from r364402, except for the not reporting on overflow. They were lumped in with a debugging commit in my tree that I omitted w/o realizing this.
Other issues from the review are pending some other changes I need to do first.
show more ...
|
#
8ef773d1 |
| 19-Aug-2020 |
Warner Losh <imp@FreeBSD.org> |
Add VFS FS events for mount and unmount to devctl/devd
Report when a filesystem is mounted, remounted or unmounted via devd, along with details about the mount point and mount options.
Discussed wi
Add VFS FS events for mount and unmount to devctl/devd
Report when a filesystem is mounted, remounted or unmounted via devd, along with details about the mount point and mount options.
Discussed with: kib@ Reviewed by: kirk@ (prior version) Sponsored by: Netflix Diffential Revision: https://reviews.freebsd.org/D25969
show more ...
|
#
4b3208a9 |
| 19-Aug-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: sanity check mount counters in vfs_op_enter
|
#
c7aa572c |
| 31-Jul-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
0379ff6a |
| 25-Jul-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: introduce vnode sequence counters
Modified on each permission change and link/unlink.
Reviewed by: kib Tested by: pho (in a patchset) Differential Revision: https://reviews.freebsd.org/D25573
|
#
8c1f410c |
| 10-Jul-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: avoid spurious memcpy in vfs_statfs
It is quite often called for the very same buffer.
|
#
33b39b66 |
| 16-Jun-2020 |
Ryan Moeller <freqlabs@FreeBSD.org> |
Apply default security flavor in vfs_export
There may be some version of mountd out there that does not supply a default security flavor when none is given for an export.
Set the default security f
Apply default security flavor in vfs_export
There may be some version of mountd out there that does not supply a default security flavor when none is given for an export.
Set the default security flavor in vfs_export if none is given, and remove the workaround for oexport compat.
Reported by: npn Reviewed by: rmacklem Approved by: mav (mentor) MFC after: 3 days Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25300
show more ...
|
#
1f7104d7 |
| 14-Jun-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix export_args ex_flags field so that is 64bits, the same as mnt_flags.
Since mnt_flags was upgraded to 64bits there has been a quirk in "struct export_args", since it hold a copy of mnt_flags in e
Fix export_args ex_flags field so that is 64bits, the same as mnt_flags.
Since mnt_flags was upgraded to 64bits there has been a quirk in "struct export_args", since it hold a copy of mnt_flags in ex_flags, which is an "int" (32bits). This happens to currently work, since all the flag bits used in ex_flags are defined in the low order 32bits. However, new export flags cannot be defined. Also, ex_anon is a "struct xucred", which limits it to 16 additional groups. This patch revises "struct export_args" to make ex_flags 64bits and replaces ex_anon with ex_uid, ex_ngroups and ex_groups (which points to a groups list, so it can be malloc'd up to NGROUPS in size. This requires that the VFS_CHECKEXP() arguments change, so I also modified the last "secflavors" argument to be an array pointer, so that the secflavors could be copied in VFS_CHECKEXP() while the export entry is locked. (Without this patch VFS_CHECKEXP() returns a pointer to the secflavors array and then it is used after being unlocked, which is potentially a problem if the exports entry is changed. In practice this does not occur when mountd is run with "-S", but I think it is worth fixing.)
This patch also deleted the vfs_oexport_conv() function, since do_mount_update() does the conversion, as required by the old vfs_cmount() calls.
Reviewed by: kib, freqlabs Relnotes: yes Differential Revision: https://reviews.freebsd.org/D25088
show more ...
|
Revision tags: release/11.4.0 |
|
#
c13e414d |
| 02-Jun-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix build issue introduced by r361699.
Reported by: cy (and others)
|
#
1cfffed8 |
| 01-Jun-2020 |
Ryan Moeller <freqlabs@FreeBSD.org> |
Assign default security flavor when converting old export args
vfs_export requires security flavors be explicitly listed when exporting as of r360900.
Use the default AUTH_SYS flavor when convertin
Assign default security flavor when converting old export args
vfs_export requires security flavors be explicitly listed when exporting as of r360900.
Use the default AUTH_SYS flavor when converting old export args to ensure compatibility with the legacy mount syscall.
Reported by: rmacklem Reviewed by: rmacklem Approved by: mav (mentor) MFC after: 3 days Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25045
show more ...
|
#
f9122b64 |
| 22-Mar-2020 |
Rick Macklem <rmacklem@FreeBSD.org> |
Fix an NFS mount attempt where VFS_STATFS() fails.
r353150 added mnt_rootvnode and this seems to have broken NFS mounts when the VFS_STATFS() called just after VFS_MOUNT() returns an error. Then the
Fix an NFS mount attempt where VFS_STATFS() fails.
r353150 added mnt_rootvnode and this seems to have broken NFS mounts when the VFS_STATFS() called just after VFS_MOUNT() returns an error. Then the code calls VFS_UNMOUNT(), which calls vflush(), which returns EBUSY. Then the thread get stuck sleeping on "mntref" in vfs_mount_destroy(). This patch fixes this problem.
Reviewed by: kib, mjg Differential Revision: https://reviews.freebsd.org/D24022
show more ...
|
#
44e86fbd |
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
#
ed67a63c |
| 12-Feb-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: drop remaining zpcpu casts
|
#
123c5197 |
| 12-Feb-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: switch to smp_rendezvous_cpus_retry for vfs_op_thread_enter/exit
In particular on amd64 this eliminates an atomic op in the common case, trading it for IPIs in the uncommon case of catching CPU
vfs: switch to smp_rendezvous_cpus_retry for vfs_op_thread_enter/exit
In particular on amd64 this eliminates an atomic op in the common case, trading it for IPIs in the uncommon case of catching CPUs executing the code while the filesystem is getting suspended or unmounted.
show more ...
|