#
1d99e8d9 |
| 07-Nov-2024 |
Mark Johnston <markj@FreeBSD.org> |
p9fs: Use UNLINKAT instead of REMOVE to implement removals
REMOVE doesn't work properly in the face of hard links. Use UNLINKAT instead, which is implemented by qemu and bhyve and lets the client s
p9fs: Use UNLINKAT instead of REMOVE to implement removals
REMOVE doesn't work properly in the face of hard links. Use UNLINKAT instead, which is implemented by qemu and bhyve and lets the client specify the name being removed.
PR: 282432 Reviewed by: dfr Differential Revision: https://reviews.freebsd.org/D47438
show more ...
|
Revision tags: release/13.4.0 |
|
#
62bb18ab |
| 04-Aug-2024 |
Bakul Shah <bakul@bitblocks.com> |
p9fs: Properly handle paths containing "."
Fixes: 56e4622588ed ("p9fs: fix lookup of "." for lib9p-based 9P servers") Pull Request: https://github.com/freebsd/freebsd-src/pull/1361
|
#
a6ca6dfd |
| 09-Jul-2024 |
Danilo Egea Gondolfo <danilo@FreeBSD.org> |
p9fs: remove duplicated code
This code is using the vnode after it has been released and causing a panic when a p9fs shared volume is unmounted. In fact, it seems like it's just duplicated code left
p9fs: remove duplicated code
This code is using the vnode after it has been released and causing a panic when a p9fs shared volume is unmounted. In fact, it seems like it's just duplicated code left behind from a bad merge.
PR: 279887 Reported by: Michael Dexter
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1323
show more ...
|
#
daa2c99c |
| 24-Jun-2024 |
Val Packett <val@packett.cool> |
p9fs: implement working putpages (fix mmap write)
Mostly copied from smbfs. This driver in its current state has the exact same issue that prevents the generic putpages implementation from working.
p9fs: implement working putpages (fix mmap write)
Mostly copied from smbfs. This driver in its current state has the exact same issue that prevents the generic putpages implementation from working.
Sponsored by: https://www.patreon.com/valpackett Reviewed by: dfr Differential Revision: https://reviews.freebsd.org/D45639 MFC after: 3 months
show more ...
|
#
56e46225 |
| 24-Jun-2024 |
Doug Rabson <dfr@FreeBSD.org> |
p9fs: fix lookup of "." for lib9p-based 9P servers
The lib9p implementation takes a strict interpretation of the Twalk RPC call and returns an error for attempts to lookup ".". The workaround is to
p9fs: fix lookup of "." for lib9p-based 9P servers
The lib9p implementation takes a strict interpretation of the Twalk RPC call and returns an error for attempts to lookup ".". The workaround is to fake the lookup locally.
Reviewed by: Val Packett <val@packett.cool> MFC after: 3 months
show more ...
|
#
b2ebcd19 |
| 19-Jun-2024 |
Doug Rabson <dfr@FreeBSD.org> |
p9fs: Fix the build for 32-bit kernels
MFC after: 3 months
|
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 ...
|