| 44d26fef | 08-Jan-2025 |
Matthew Dillon <dillon@apollo.backplane.com> |
cd9660 - Fix unexpected file/dir mode mask in 7764eb663ae501
* 7764eb663ae501 used the modes of the underlying mount point as the default fmask and dmask for cd9660 mounts when no masking options
cd9660 - Fix unexpected file/dir mode mask in 7764eb663ae501
* 7764eb663ae501 used the modes of the underlying mount point as the default fmask and dmask for cd9660 mounts when no masking options are specified. This is unexpected. Prior to that commit, the modes from ISO were used verbatim.
* This commit returns to the old (more expected) operation when -m/-M is not specified.
* Also make some adjustments to ensure that new kernels work with old worlds and vise-versa. Make use of the fields require the related mount flag and also default the fields to all modes when -m/-M is not specified. Any mismatch will have the prior (expected) operation.
Reported-by: Sergey Zigachev (servik)
show more ...
|
| cc8e70bd | 08-Oct-2024 |
Sergey Zigachev <s.zi@outlook.com> |
kern - Make lseek(2) generic
* Extend fileops with fo_seek function allowing pluggable lseek(2) implementations. Part of preparation for linux DMA-BUF compat API.
* Move current vnode lseek imple
kern - Make lseek(2) generic
* Extend fileops with fo_seek function allowing pluggable lseek(2) implementations. Part of preparation for linux DMA-BUF compat API.
* Move current vnode lseek implementation into vnode and devfs fileops. Code is exactly the same in both, note about duplication added.
* Set remaining fileops to badfo_seek.
Mentored-By: dillon
show more ...
|
| 9443de1e | 01-Oct-2024 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Remove obsolete comments for unused/reserved ondisk fields |
| 2c8c691b | 01-Oct-2024 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Change hammer2_inode_meta::target_type to unused84
No longer used or needed since da0cdd33148ab3e3c227355de759c595c533841a in 2017.
target_type was only used for the initial hardli
sys/vfs/hammer2: Change hammer2_inode_meta::target_type to unused84
No longer used or needed since da0cdd33148ab3e3c227355de759c595c533841a in 2017.
target_type was only used for the initial hardlink design and implementation, which is not how it works today.
show more ...
|
| 831bf837 | 25-Sep-2024 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Sync with recent userspace ondisk.c changes
8d1faa373c717ffa3d7dce83f48327742c966dad c825a6c5bc23e72617bbb2bede9bfb99724bada0
sys/vfs/hammer2 has mostly same verifications in hamme
sys/vfs/hammer2: Sync with recent userspace ondisk.c changes
8d1faa373c717ffa3d7dce83f48327742c966dad c825a6c5bc23e72617bbb2bede9bfb99724bada0
sys/vfs/hammer2 has mostly same verifications in hammer2_ondisk.c.
show more ...
|
| 4a361a72 | 23-Jul-2024 |
Aaron LI <aly@aaronly.me> |
vfs/procfs: Add kqueue support
This patch is mostly derived from tmpfs.
With kqueue support implemented, poll() now works with the files on this pseudo filesystem. For example, poll() would report
vfs/procfs: Add kqueue support
This patch is mostly derived from tmpfs.
With kqueue support implemented, poll() now works with the files on this pseudo filesystem. For example, poll() would report POLLIN instead of timing out, and this makes less(1) work correctly.
Reviewed-by: dillon
show more ...
|
| 7ced3071 | 23-Jul-2024 |
Aaron LI <aly@aaronly.me> |
vfs/procfs: Whitespace and style fixes |
| a28593b7 | 28-Mar-2024 |
Matthew Dillon <dillon@apollo.backplane.com> |
fuse - minor cleanup
* We have fnp, don't need to VTOI() again |
| 4d178a6a | 28-Mar-2024 |
Matthew Dillon <dillon@apollo.backplane.com> |
fuse - Add back into the module Makefile
* Hook fuse back in, it's usable now |
| 7485684f | 03-Mar-2024 |
Aaron LI <aly@aaronly.me> |
Whitespace cleanups |
| 7764eb66 | 08-Mar-2024 |
Ricardo Branco <rbranco@suse.de> |
cd9660: Add support for mask,dirmask,uid,gid options
The updates to mount_cd9660(8) are basically taken from mount_msdos(8).
GitHub PR: https://github.com/DragonFlyBSD/DragonFlyBSD/pull/23 See also
cd9660: Add support for mask,dirmask,uid,gid options
The updates to mount_cd9660(8) are basically taken from mount_msdos(8).
GitHub PR: https://github.com/DragonFlyBSD/DragonFlyBSD/pull/23 See also: - https://github.com/freebsd/freebsd-src/pull/982 - https://github.com/NetBSD/src/pull/29
show more ...
|
| 887de9e3 | 16-Mar-2024 |
Matthew Dillon <dillon@apollo.backplane.com> |
sys/vfs/fuse: Some mmap related fixes, issues with sshfs and FUSE_FORGET
* Only issue FUSE_FSYNC when there is a file-handle associated with the fuse_node.
* Be sure to flush the VM object on ina
sys/vfs/fuse: Some mmap related fixes, issues with sshfs and FUSE_FORGET
* Only issue FUSE_FSYNC when there is a file-handle associated with the fuse_node.
* Be sure to flush the VM object on inactive before releasing the file handle (fixes issues with mmap()).
* Don't issue FUSE_FORGET for now, it seems to confuse sshfs so either I'm doing something wrong or ... don't know.
show more ...
|
| 1a8e5e4c | 16-Mar-2024 |
Matthew Dillon <dillon@apollo.backplane.com> |
sys/vfs/fuse: Fix a ton more stuff
* Remove all the fuse_dent code. It is no longer needed.
* Remove signal mask wrappers. tsleep() isn't passing PCATCH so signals are basically ignored.
* Add
sys/vfs/fuse: Fix a ton more stuff
* Remove all the fuse_dent code. It is no longer needed.
* Remove signal mask wrappers. tsleep() isn't passing PCATCH so signals are basically ignored.
* Add missing required FUSE_RELEASE operations (paired with CREATE/OPEN)
* Add missing required FUSE_FORGET operations (paired with LOOKUPs). "." and ".." are not recorded by userland and do not need to be forgotten (will confuse userland if they are).
* No reply is expected from FUSE_FORGET RPCs, add infrastructure to handle this case.
* Index fuse_node's by their inode number, which greatly improves hardlink handling.
* Properly store the file-handle for CREATE operations so we can release it later (fixes some dangling .fuse_hidden* files).
* Flush the vnode and issue a FUSE_RELEASE when removing a file, including in the rename-over-file case, if the file is no longer open. Otherwise cached vnodes that have not yet been reclaimed will interfere with the removal and cause the fuse userland to create a .fuse_hidden* file.
NOTE: RELEASE operations still need a bit of work. The v_opencount test in the file removal path is not sufficient, but we had to close RELEASEs there for the general case to avoid many annoying cases where .fuse_hidden* files are created.
show more ...
|
| 5d0d0baf | 15-Mar-2024 |
Matthew Dillon <dillon@apollo.backplane.com> |
sys/vfs/fuse: Fix a ton of stuff and get writes working
* Recode all the file I/O. Use the buffer cache properly, create a backend for BIO strategy calls. mmap() should work properly now. writ
sys/vfs/fuse: Fix a ton of stuff and get writes working
* Recode all the file I/O. Use the buffer cache properly, create a backend for BIO strategy calls. mmap() should work properly now. write() should also now work properly.
* For the moment issue vfinalize() when the opencount == 0 to force the DFly kernel to dispose of inactive vnodes once all references (including mmap references) are gone.
* Recode the filehandle (fh) tracking. File handles are assigned in fuse_vop_open() and instead of being released in fuse_vop_close() (which completely blows up mmap() operations), we now release file handles in fuse_vop_inactive().
Remove the fh side allocation. The fh is now positively stored in the fuse_node.
* Properly zero data structures allocated via the objcache.
* Implement the new syncer thread / syncer scan API for fsync operations.
* Implement asynchronous I/O in the frontend (the backend helper thread is currently still synchronous).
* Rejigger how attributes are handled when the file size changes. It is still a bit of a mess but it is better than before. The basic problem is that the file attribute info in userland does not update the file size field until we flush the BIOs related to an append.
* Not yet fixed: hard link related issues (duplicate fuse_node inodes are allocated).
nlink tracking was a mess. Adjust fuse_node->nlink to only track the allocated directory entries on the kernel side. Do not try to update it against attribute nlink counts. We always report thte attribute nlink counts... the fuse_node->nlink only tracks local directory entries for the moment.
* Fix a use-after-free situation that can develop with the root vnode for the fuse filesystem.
* Properly disconnect fnp->pfnp linkages and move connection and disconnection to fuse_dent_attach() and fuse_dent_detach().
* Improve atomicy in fuse_node_vn().
* Implement advisory locks locally on the kernel side.
* Not yet fixed: Multiple fuse_node's can have the same inode because we are not yet indexing them by inode number.
show more ...
|
| b4ba18e8 | 14-Mar-2024 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/fuse: Re-disable from build
The potential NULL deref fix in df8dfe6e4994f81f7a8a3cf7c5fbdce4451ac41b is unrelated to enabling FUSE.
See 5812c3cc7f8e910251a2cf4e78242f0b11a5fb4d and bd699eea
sys/vfs/fuse: Re-disable from build
The potential NULL deref fix in df8dfe6e4994f81f7a8a3cf7c5fbdce4451ac41b is unrelated to enabling FUSE.
See 5812c3cc7f8e910251a2cf4e78242f0b11a5fb4d and bd699eeae3b09e46383d416a578ffbf2640e0285 for details.
show more ...
|
| df8dfe6e | 13-Mar-2024 |
Kyle Butt <kyle@iteratee.net> |
Fix null dereference bug in fuse and re-enable it.
There was a null dereference bug in fuse if the subtype was null. subtype is supposed to be optional, as demonstrated by the code, so test it for n
Fix null dereference bug in fuse and re-enable it.
There was a null dereference bug in fuse if the subtype was null. subtype is supposed to be optional, as demonstrated by the code, so test it for null before copying it in from userspace.
Remove the redundant memcpy which appears to have been missed when the code was changed to memset/copyinstr.
show more ...
|
| f658e60a | 05-Mar-2024 |
Ricardo Branco <rbranco@suse.de> |
procfs(5): Add '/proc/self/exe' symlink support
* Add the /proc/self symlink that's the same as /proc/curproc. * Add the /proc/<pid>/exe entry that's the same as /proc/<pid>/file.
The '/proc/self/e
procfs(5): Add '/proc/self/exe' symlink support
* Add the /proc/self symlink that's the same as /proc/curproc. * Add the /proc/<pid>/exe entry that's the same as /proc/<pid>/file.
The '/proc/self/exe' symlink has been already landed in NetBSD and FreeBSD [0]. It could simplify some patches to ports that look for this symlink.
[0] https://github.com/freebsd/freebsd-src/pull/976
GitHub PR: https://github.com/DragonFlyBSD/DragonFlyBSD/pull/22
show more ...
|
| b272101a | 30-Oct-2023 |
Aaron LI <aly@aaronly.me> |
Various minor whitespace cleanups
Accumulated along the way. |
| e66589ae | 21-Dec-2023 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Remove obsolete comment on device buffer size
Remove a comment from 01eabad4d93a8dc8f0f01a6209b384b1e010bb8c in 2012. A device buffer size is currently always 64KB regardless of cha
sys/vfs/hammer2: Remove obsolete comment on device buffer size
Remove a comment from 01eabad4d93a8dc8f0f01a6209b384b1e010bb8c in 2012. A device buffer size is currently always 64KB regardless of chain bytes. HAMMER2_MIN_ALLOC no longer exists.
show more ...
|
| a13468b0 | 21-Dec-2023 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Remove obsolete comments on chain statistics
Remove comments for removed code from b3659de2a6ee73b51bf3edb4babfb4653134813f in 2014. |
| c79fbadc | 11-Dec-2023 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Remove unused chain LRU related
Remove stuff leftover from 34fb48c236fd17fbe558c7b2cf21b4e50f38153e. |
| e4b9e6f6 | 07-Dec-2023 |
Michael Neumann <mneumann@ntecs.de> |
Fix typos |
| 096d2ac4 | 30-Nov-2023 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Remove unused local variable *pmp
No longer used since 34fb48c236fd17fbe558c7b2cf21b4e50f38153e. makefs code warned on Linux. |
| bb70b93b | 29-Nov-2023 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Rename HAMMER2_INODE_ONRBTREE -> HAMMER2_INODE_ONHASH
inode is indexed by hash (hammer2_io_hash), not rbtree (hammer2_io_tree) since 34fb48c236fd17fbe558c7b2cf21b4e50f38153e. |
| ad827252 | 24-Nov-2023 |
Tomohiro Kusumi <tkusumi@netbsd.org> |
sys/vfs/hammer2: Remove REGFILE/SOFTLINK test in hammer2_inode_create_pfs()
This code appeared in 5afbe9d887367290d89391c2d29697655f9fc1da in 2018, when inode creation function got split into normal
sys/vfs/hammer2: Remove REGFILE/SOFTLINK test in hammer2_inode_create_pfs()
This code appeared in 5afbe9d887367290d89391c2d29697655f9fc1da in 2018, when inode creation function got split into normal and PFS.
However, PFS inode is always a directory (HAMMER2_OBJTYPE_DIRECTORY), so xop->meta.type is never a REGFILE or SOFTLINK. See right above this removed code.
show more ...
|