Revision tags: release/14.1.0, release/13.3.0, release/14.0.0, release/13.2.0 |
|
#
e97ad33a |
| 06-Dec-2022 |
Doug Rabson <dfr@FreeBSD.org> |
Add an implementation of the 9P filesystem
This is derived from swills@ fork of the Juniper virtfs with many changes by me including bug fixes, style improvements, clearer layering and more consiste
Add an implementation of the 9P filesystem
This is derived from swills@ fork of the Juniper virtfs with many changes by me including bug fixes, style improvements, clearer layering and more consistent logging. The filesystem is renamed to p9fs to better reflect its function and to prevent possible future confusion with virtio-fs.
Several updates and fixes from Juniper have been integrated into this version by Val Packett and these contributions along with the original Juniper authors are credited below.
To use this with bhyve, add 'virtio_p9fs_load=YES' to loader.conf. The bhyve virtio-9p device allows access from the guest to files on the host by mapping a 'sharename' to a host path. It is possible to use p9fs as a root filesystem by adding this to /boot/loader.conf:
vfs.root.mountfrom="p9fs:sharename"
for non-root filesystems add something like this to /etc/fstab:
sharename /mnt p9fs rw 0 0
In both examples, substitute the share name used on the bhyve command line.
The 9P filesystem protocol relies on stateful file opens which map protocol-level FIDs to host file descriptors. The FreeBSD vnode interface doesn't really support this and we use heuristics to guess the right FID to use for file operations. This can be confused by privilege lowering and does not guarantee that the FID created for a given file open is always used for file operations, even if the calling process is using the file descriptor from the original open call. Improving this would involve changes to the vnode interface which is out-of-scope for this import.
Differential Revision: https://reviews.freebsd.org/D41844 Reviewed by: kib, emaste, dch MFC after: 3 months Co-authored-by: Val Packett <val@packett.cool> Co-authored-by: Ka Ho Ng <kahon@juniper.net> Co-authored-by: joyu <joyul@juniper.net> Co-authored-by: Kumara Babu Narayanaswamy <bkumara@juniper.net>
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
#
0a713948 |
| 22-Nov-2023 |
Alexander Motin <mav@FreeBSD.org> |
Replace random sbuf_printf() with cheaper cat/putc.
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
176d83ea |
| 23-Jul-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: fix up NDFREE_PNBUF usage in vfs_mountroot_shuffle
Noted by: karels
|
#
cb858340 |
| 28-Apr-2023 |
Dmitry Chagin <dchagin@FreeBSD.org> |
linux(4): Add a dedicated statat() implementation
Get rid of calling Linux stat translation hook and specific to Linux handling of non-vnode dirfd from kern_statat(),
Reviewed by: kib, mjg Differe
linux(4): Add a dedicated statat() implementation
Get rid of calling Linux stat translation hook and specific to Linux handling of non-vnode dirfd from kern_statat(),
Reviewed by: kib, mjg Differential revision: https://reviews.freebsd.org/D35474
show more ...
|
#
1ebec380 |
| 24-Feb-2023 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: s/ppsratecheck/eventratecheck
nfc
|
#
b13110e9 |
| 17-Dec-2022 |
Alfredo Dal'Ava Junior <alfredo@FreeBSD.org> |
ufs/ffs: detect endian mismatch between machine and filesystem
Mount on a LE machine a filesystem formatted for BE is not supported currently. This adds a check for the superblock magic number using
ufs/ffs: detect endian mismatch between machine and filesystem
Mount on a LE machine a filesystem formatted for BE is not supported currently. This adds a check for the superblock magic number using swapped bytes to guess and warn the user that it may be a valid superblock but endian is incompatible.
MFC after: 2 weeks Reviewed by: mckusick Obtained from: mckusick, alfredo Differential Revision: https://reviews.freebsd.org/D37675
show more ...
|
Revision tags: release/12.4.0 |
|
#
1c7084fe |
| 17-Sep-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: clean up parse_mount_dev_present
|
#
aede6a96 |
| 17-Sep-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: fixup parse_mount_dev_present after 5b5b7e2ca2fa9a2418dd51749f4ef6f881ae7179
Reported by: kib
|
#
cc1ec772 |
| 22-Jul-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
Adjust g_waitidle() visibility and definition
Explicitly pass the struct thread argument. Move the function prototype from sys/systm.h to geom/geom.h, we do not need almost each kernel source to see
Adjust g_waitidle() visibility and definition
Explicitly pass the struct thread argument. Move the function prototype from sys/systm.h to geom/geom.h, we do not need almost each kernel source to see the prototype, it is now used only by kern/vfs_mountroot.c outside geom/geom_event.c, where the function is defined.
Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D35888
show more ...
|
#
31d1b816 |
| 28-May-2022 |
Dmitry Chagin <dchagin@FreeBSD.org> |
sysent: Get rid of bogus sys/sysent.h include.
Where appropriate hide sysent.h under proper condition.
MFC after: 2 weeks
|
Revision tags: release/13.1.0 |
|
#
bb92cd7b |
| 24-Mar-2022 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: NDFREE(&nd, NDF_ONLY_PNBUF) -> NDFREE_PNBUF(&nd)
|
#
33812d60 |
| 20-Dec-2021 |
Colin Percival <cperciva@FreeBSD.org> |
vfs_mountroot: Check for root dev before waiting
If GEOM is idle but the root device is not yet present when we enter vfs_mountroot_wait_if_necessary, we call vfs_mountroot_wait to wait for root hol
vfs_mountroot: Check for root dev before waiting
If GEOM is idle but the root device is not yet present when we enter vfs_mountroot_wait_if_necessary, we call vfs_mountroot_wait to wait for root holds (e.g. CAM or USB initialization). Upon returning from vfs_mountroot_wait, we wait 100 ms at a time until the root device shows up.
Since the root device most likely appeared during vfs_mountroot_wait -- waiting for subsystems which may be responsible for the root device is the whole purpose of that function -- it makes sense to check if the device is now present rather than printing a warning and pausing for 100 ms before checking.
Reviewed by: trasz Fixes: a3ba3d09c248 Make root mount wait mechanism smarter Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D33593
show more ...
|
#
19a17215 |
| 20-Dec-2021 |
Colin Percival <cperciva@FreeBSD.org> |
vfs_mountroot: Wait for GEOM idle post root holds
In the case of a root hold related to the initialization of a disk device, a flurry of GEOM tasting is likely to take place as soon as the device is
vfs_mountroot: Wait for GEOM idle post root holds
In the case of a root hold related to the initialization of a disk device, a flurry of GEOM tasting is likely to take place as soon as the device is initialized and the root hold is released. If we don't wait for GEOM idle it's easy for vfs_mountroot to "win" the race and proceed before the root filesystem GEOM is ready.
Reviewed by: imp Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D33592
show more ...
|
#
e6db5eb9 |
| 20-Dec-2021 |
Colin Percival <cperciva@FreeBSD.org> |
vfs_mountroot: Skip 'Root mount waiting' < 1 s
While the message is technically correct, it's not particularly helpful in the case where we're only waiting a few ms; this case occurs frequently on E
vfs_mountroot: Skip 'Root mount waiting' < 1 s
While the message is technically correct, it's not particularly helpful in the case where we're only waiting a few ms; this case occurs frequently on EC2 arm64 instances with CAM initialization racing to release its root hold before vfs_mountroot reaches this point. Only print the message if we end up waiting for more than one second.
Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D33591
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.
|
#
7b2ac8eb |
| 18-Sep-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add missing VIRF_MOUNTPOINT in vfs_mountroot_shuffle
Reported by: mav
|
#
0d9e99ce |
| 18-Sep-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: add the missing vnode interlock in vfs_mountroot_shuffle
Around v_mountedhere assignment.
|
#
048cd371 |
| 23-Jul-2021 |
Mark Johnston <markj@FreeBSD.org> |
vfs: Initialize "lastfail" in vfs_mountroot_wait()
This variable is only used to rate-limit "Root mount waiting for: ..." messages using ppsratecheck().
Reported by: KMSAN MFC after: 1 week Sponsor
vfs: Initialize "lastfail" in vfs_mountroot_wait()
This variable is only used to rate-limit "Root mount waiting for: ..." messages using ppsratecheck().
Reported by: KMSAN MFC after: 1 week Sponsored by: The FreeBSD Foundation
show more ...
|
#
23ecfa9d |
| 20-Jul-2021 |
Kyle Evans <kevans@FreeBSD.org> |
kern: mountroot: avoid fd leak in .md parsing
parse_dir_md() opens /dev/mdctl but only closes the resulting fd on success, not upon failure of the ioctl or when we exceed the md unit max.
Reviewed
kern: mountroot: avoid fd leak in .md parsing
parse_dir_md() opens /dev/mdctl but only closes the resulting fd on success, not upon failure of the ioctl or when we exceed the md unit max.
Reviewed by: kib (slightly previous version) Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. X-NetApp-PR: #62 Differential Revision: https://reviews.freebsd.org/D31229
show more ...
|
#
571a1a64 |
| 18-Apr-2021 |
Warner Losh <imp@FreeBSD.org> |
Minor style tidy: if( -> if (
Fix a few 'if(' to be 'if (' in a few places, per style(9) and overwhelming usage in the rest of the kernel / tree.
MFC After: 3 days Sponsored by: Netflix
|
Revision tags: release/13.0.0 |
|
#
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
|
Revision tags: release/12.2.0 |
|
#
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.
|
#
422f38d8 |
| 10-Jul-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: fix trivial whitespace issues which don't interefere with blame
.. even without the -w switch
|