Page MenuHomeFreeBSD

chs (Chuck Silvers)
User

Projects

User Details

User Since
May 9 2018, 1:01 AM (265 w, 3 d)

Recent Activity

Sun, Jun 4

chs committed rG89bd147dbf8e: ffs: restore backward compatibility of newfs and makefs with older binaries (authored by chs).
ffs: restore backward compatibility of newfs and makefs with older binaries
Sun, Jun 4, 5:20 PM

Tue, May 30

chs committed rGd464a7698de8: ffs: restore backward compatibility of newfs and makefs with older binaries (authored by chs).
ffs: restore backward compatibility of newfs and makefs with older binaries
Tue, May 30, 2:28 AM

Thu, May 11

chs closed D40054: fbt/x86: update FBT_AFRAMES to match the trap handlers.
Thu, May 11, 5:56 PM
chs committed rG90951695207f: fbt/x86: update FBT_AFRAMES to match the trap handlers (authored by chs).
fbt/x86: update FBT_AFRAMES to match the trap handlers
Thu, May 11, 5:56 PM

May 11 2023

chs added a reviewer for D40054: fbt/x86: update FBT_AFRAMES to match the trap handlers: markj.
May 11 2023, 1:45 AM
chs updated the summary of D40054: fbt/x86: update FBT_AFRAMES to match the trap handlers.
May 11 2023, 1:44 AM
chs requested review of D40054: fbt/x86: update FBT_AFRAMES to match the trap handlers.
May 11 2023, 1:41 AM

May 8 2023

chs committed rGdb1a4d9c4569: fsck_ffs: fix the previous change that skipped pass 5 in some cases (authored by chs).
fsck_ffs: fix the previous change that skipped pass 5 in some cases
May 8 2023, 6:34 PM

May 3 2023

chs committed rG406475581246: fsck_ffs: fix the previous change that skipped pass 5 in some cases (authored by chs).
fsck_ffs: fix the previous change that skipped pass 5 in some cases
May 3 2023, 8:33 PM

Mar 29 2023

chs added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).

You have a very valid point. I addressed this by having just a single message come out when running with -p (preen mode). When encountering a filesystem with no depths it prints `UPDATING FILESYSTEM TO TRACK DIRECTORY DEPTH'' then updates all the directory depths. When running in interactive mode and -y mode it asks once `UPDATE FILESYSTEM TO TRACK DIRECTORY DEPTH?'' then just does it. No further reporting happens in either case.

Mar 29 2023, 11:53 PM

Mar 27 2023

chs added a comment to D39246: Improvement in UFS/FFS directory placement when doing mkdir(2).

The concern I have with this change is about user interface. With this patch, if someone renames a directory that is the root of a subtree containing other directories and then unmounts the file system cleanly, fsck will report that the file system is now corrupted because all of the dirdepth values for directories in that subtree are wrong. In fact, every existing file system will immediately be reported as corrupted the first time that the new fsck is run. There are millions of people in the world who know what the fsck output for a clean and uncorrupted UFS file system looks like, and that clean fsck output is very easy to recognize because it's very short and always the same (modulo the line with the last-mounted-on path and the line at the end with the block/inode usage and fragmentation summary). After this patch, fsck can produce millions of lines of output for file systems that aren't really corrupted but rather are merely not optimal, and it will no longer be so simple to tell if a file system is corrupted or not by looking at the fsck output.

Mar 27 2023, 7:50 PM

Dec 12 2022

chs committed rG9dda00df7e8f: restore: fix restore of NFS4 ACLs (authored by chs).
restore: fix restore of NFS4 ACLs
Dec 12 2022, 4:21 PM
chs closed D37618: restore: fix restore of NFS4 ACLs.
Dec 12 2022, 4:20 PM

Dec 6 2022

chs retitled D37618: restore: fix restore of NFS4 ACLs from Changing the mode bits on a file with an NFS4 ACL results in the NFS4 ACL being replaced by one matching the new mode bits being set, so when restoring a file with an NFS4 ACL, set the owner/group/mode first and then set the NFS4 ACL, so that... to restore: fix restore of NFS4 ACLs.
Dec 6 2022, 10:26 PM
chs requested review of D37618: restore: fix restore of NFS4 ACLs.
Dec 6 2022, 10:24 PM

Nov 1 2022

chs committed rGf0f3e3e961d3: ipmi: use a queue for kcs driver requests when possible (authored by chs).
ipmi: use a queue for kcs driver requests when possible
Nov 1 2022, 5:55 PM
chs closed D36555: ipmi: use a queue for kcs driver requests when possible.
Nov 1 2022, 5:55 PM

Oct 11 2022

chs added inline comments to D36555: ipmi: use a queue for kcs driver requests when possible.
Oct 11 2022, 10:47 PM

Sep 13 2022

chs requested review of D36555: ipmi: use a queue for kcs driver requests when possible.
Sep 13 2022, 11:23 PM

Sep 8 2022

chs accepted D36474: Handle out-of-bounds file timestamps in ls(1) and find(1).
Sep 8 2022, 7:26 PM

Jun 23 2022

chs added a comment to D34793: Add experimental 16k PAGE_SIZE support on arm64.

I was waiting for the UFS fixes to land.

Jun 23 2022, 2:22 AM

Jun 22 2022

chs committed rGf1b4324b81a5: ffs: fix vn_read_from_obj() usage for PAGE_SIZE > block size (authored by chs).
ffs: fix vn_read_from_obj() usage for PAGE_SIZE > block size
Jun 22 2022, 9:58 PM
chs closed D34836: ffs: fix vn_read_from_obj() usage for PAGE_SIZE > block size.
Jun 22 2022, 9:58 PM
chs updated the diff for D34836: ffs: fix vn_read_from_obj() usage for PAGE_SIZE > block size.

Updated the diff based on review comments.
The suggestion was to only enable vn_read_from_obj() if the fs fragment size is larger than the page size, but it's actually fine to use vn_read_from_obj() as long as the fs block size is greater than or equal to the page size, so I made the check that way.

Jun 22 2022, 1:29 AM
chs committed rG5bd21cbbd1df: vfs: fix vfs_bio_clrbuf() for PAGE_SIZE > block size (authored by chs).
vfs: fix vfs_bio_clrbuf() for PAGE_SIZE > block size
Jun 22 2022, 1:00 AM
chs closed D34837: vfs: fix vfs_bio_clrbuf() for PAGE_SIZE > block size.
Jun 22 2022, 1:00 AM
chs committed rG82817f26f8ec: ffs: fix vn_io_fault_pgmove() offset for PAGE_SIZE > block size (authored by chs).
ffs: fix vn_io_fault_pgmove() offset for PAGE_SIZE > block size
Jun 22 2022, 12:56 AM
chs closed D34835: ffs: fix vn_io_fault_pgmove() offset for PAGE_SIZE > block size.
Jun 22 2022, 12:56 AM

May 9 2022

chs accepted D35149: ffs_use_bwrite: make the superblock snapshot more consistent.
May 9 2022, 3:57 PM

Apr 28 2022

chs accepted D35093: cam_periph: Return ENXIO when peripheral is invalidated.

This makes sense to me.

Apr 28 2022, 9:01 PM

Apr 11 2022

chs added a comment to D34836: ffs: fix vn_read_from_obj() usage for PAGE_SIZE > block size.

No, in this example of 16k pages and 4k blocks, the first page would contain the first 4 blocks, the second page would contain the next 4 blocks, etc, so mmap'ing the file works as you would expect.

Apr 11 2022, 7:08 PM

Apr 8 2022

chs closed D34806: ffs: wait for trims earlier during unmount to avoid panic.
Apr 8 2022, 5:24 PM
chs committed rG3dc5f8e19d8c: ffs: wait for trims earlier during unmount to avoid panic (authored by chs).
ffs: wait for trims earlier during unmount to avoid panic
Apr 8 2022, 5:24 PM

Apr 7 2022

chs updated the diff for D34806: ffs: wait for trims earlier during unmount to avoid panic.

made requested changes.

Apr 7 2022, 10:26 PM
chs requested review of D34837: vfs: fix vfs_bio_clrbuf() for PAGE_SIZE > block size.
Apr 7 2022, 8:15 PM
chs requested review of D34836: ffs: fix vn_read_from_obj() usage for PAGE_SIZE > block size.
Apr 7 2022, 8:15 PM
chs requested review of D34835: ffs: fix vn_io_fault_pgmove() offset for PAGE_SIZE > block size.
Apr 7 2022, 8:15 PM

Apr 6 2022

chs requested review of D34806: ffs: wait for trims earlier during unmount to avoid panic.
Apr 6 2022, 5:54 PM

Feb 28 2022

chs accepted D32697: Create a union GEOM module.
Feb 28 2022, 6:07 PM
chs accepted D34259: Report I/O stats from the CAM_IOSCHED_DYNAMIC extension.
Feb 28 2022, 5:43 PM

Feb 24 2022

chs accepted D34365: cam: add hw.cam.iosched.read_bias.
Feb 24 2022, 12:50 AM

Feb 23 2022

chs added a comment to D34259: Report I/O stats from the CAM_IOSCHED_DYNAMIC extension.

It would be good to go ahead and resolve the XXX comments that are currently being added by the patch.

Feb 23 2022, 11:54 PM
chs added a comment to D34351: cam iosched: Allow read bias to be 0.

I would characterize this change as: redefine "read_bias==0" from the current meaning of "prefer writes" to instead mean "no read-vs-write bias".
This patch looks correct in implementing that new meaning, though it would be nice if it didn't involve essentially duplicating the code of cam_iosched_get_write() in cam_iosched_next_bio().

Feb 23 2022, 9:17 PM

Feb 22 2022

chs accepted D34348: camcontrol fwdownload minor improvements.
Feb 22 2022, 9:34 PM
chs added a reviewer for D34348: camcontrol fwdownload minor improvements: chs.
Feb 22 2022, 9:34 PM

Feb 10 2022

chs closed D34216: dtrace: remove unnecessary fflush().
Feb 10 2022, 2:49 AM
chs committed rGf339a3ef6369: dtrace: remove unnecessary fflush() (authored by chs).
dtrace: remove unnecessary fflush()
Feb 10 2022, 2:49 AM

Feb 8 2022

chs added a reviewer for D34216: dtrace: remove unnecessary fflush(): markj.
Feb 8 2022, 11:41 PM
chs requested review of D34216: dtrace: remove unnecessary fflush().
Feb 8 2022, 11:40 PM

Jan 10 2022

chs added a comment to D32697: Create a union GEOM module.

I agree with kib that there is no need to serialize read requests (that need to choose whether to read from lower or upper) with write requests (that change the target of future reads from lower to upper)... allowing a pending read from the lower layer to complete after a write changes the target of future reads of that sector to be the upper layer is fine. The application must be prepared for the read to return either the old data or the new data in this case because the order of processing of these parallel async operations is not guaranteed.

Jan 10 2022, 11:42 PM

Dec 3 2021

chs closed D32950: librtld_db: Handle shlibs with discontiguous mappings..
Dec 3 2021, 7:09 PM
chs committed rGdfd00261c95a: librtld_db: Handle shlibs with discontiguous mappings. (authored by chs).
librtld_db: Handle shlibs with discontiguous mappings.
Dec 3 2021, 7:09 PM
chs added a comment to D32950: librtld_db: Handle shlibs with discontiguous mappings..

Yea, I couldn't see any reason for the linker to leave the gap in libcrypto.so's memory layout either, but it doesn't seem like an invalid thing to do either, and it's easy enough to handle it.

Dec 3 2021, 3:22 PM
chs updated the diff for D32950: librtld_db: Handle shlibs with discontiguous mappings..

update for review comments.

Dec 3 2021, 3:19 PM

Nov 11 2021

chs updated the summary of D32950: librtld_db: Handle shlibs with discontiguous mappings..
Nov 11 2021, 9:49 PM
chs requested review of D32950: librtld_db: Handle shlibs with discontiguous mappings..
Nov 11 2021, 9:48 PM

Oct 27 2021

chs accepted D32679: cam_periph: style change.
Oct 27 2021, 6:34 PM

Sep 27 2021

chs accepted D32150: Avoid "consumer not attached in g_io_request" panic when disk lost while using a UFS snapshot..

there's one more unsafe use of g_io_request() in UFS, in softdep_synchronize(), but that can be fixed separately from this one.

Sep 27 2021, 1:37 AM

Sep 24 2021

chs accepted D32089: kern_reboot: Only call the shutdown handler once.
Sep 24 2021, 9:37 PM
chs accepted D32089: kern_reboot: Only call the shutdown handler once.

I'm told that these day using "bool" and true/false is preferred over using "int" and 1/0, but otherwise this is good.

Sep 24 2021, 12:18 AM
chs accepted D32088: nvme: Sanity check completion id.
Sep 24 2021, 12:16 AM

Jul 19 2021

chs added inline comments to D31016: Allow stacked filesystems to be recursively unmounted.
Jul 19 2021, 5:21 PM

Jun 29 2021

chs committed rGed1a156b038d: fsck_ffs: don't try to write in read-only mode (authored by chs).
fsck_ffs: don't try to write in read-only mode
Jun 29 2021, 9:30 PM

Jun 24 2021

chs accepted D30881: dumpfs(8): add option to only print superblock information.
Jun 24 2021, 5:36 PM

Jun 22 2021

chs added a comment to D28856: Move struct bufobj out of struct vnode.

overall I agree with mjg and kirk that it would be simpler and better in the long term for the bufobj to be part of the fs-specific "inode" structure for file systems that need it, rather than having the fs-independent code need to know about multiple flavors of vnodes.

Jun 22 2021, 8:29 PM

May 28 2021

chs added a comment to D30537: fsck_ffs(8): do bufinit() just before gjournal_check().

what is the "issue reported by jhb" that you mention?

May 28 2021, 11:23 PM

May 25 2021

chs committed rG84768d114951: fsdb: add missing bufinit() call (authored by chs).
fsdb: add missing bufinit() call
May 25 2021, 4:44 PM

Apr 2 2021

chs accepted D29540: sendfile: Fix error initialization in sendfile_getobj().
Apr 2 2021, 12:00 AM

Mar 18 2021

chs committed rG8c59e863e2c0: tail: fix "tail -F" file rotation detection (authored by chs).
tail: fix "tail -F" file rotation detection
Mar 18 2021, 8:18 PM

Mar 11 2021

chs accepted D29210: cam: Run all XPT_ASYNC ccbs in a dedicated thread.
Mar 11 2021, 6:12 PM
chs added inline comments to D29210: cam: Run all XPT_ASYNC ccbs in a dedicated thread.
Mar 11 2021, 12:29 AM

Feb 24 2021

chs accepted D28811: sendfile: Return the object size from sendfile_getobj().
Feb 24 2021, 8:42 PM

Feb 2 2021

chs committed rG7787e7eed9d2: tail: fix "tail -F" file rotation detection (authored by chs).
tail: fix "tail -F" file rotation detection
Feb 2 2021, 12:29 AM

Jan 7 2021

chs closed D28008: vfs: fix rangelock range in vn_rdwr() for IO_APPEND.
Jan 7 2021, 9:42 PM
chs committed rG11403bdeb415: vfs: fix rangelock range in vn_rdwr() for IO_APPEND (authored by chs).
vfs: fix rangelock range in vn_rdwr() for IO_APPEND
Jan 7 2021, 9:42 PM

Jan 6 2021

chs updated the test plan for D28008: vfs: fix rangelock range in vn_rdwr() for IO_APPEND.
Jan 6 2021, 8:53 PM
chs requested review of D28008: vfs: fix rangelock range in vn_rdwr() for IO_APPEND.
Jan 6 2021, 8:25 PM

Nov 3 2020

chs accepted D27081: ffs: Clamp BIO_SPEEDUP length.

The same issue exists in g_io_speedup() (though that function appears to be unused at the moment).

Nov 3 2020, 9:29 PM

Oct 5 2020

chs closed D26596: ufs: restore uniqueness of st_dev.
Oct 5 2020, 6:18 PM
chs committed rS366453: ufs: restore uniqueness of st_dev as returned by ufs_stat().
ufs: restore uniqueness of st_dev as returned by ufs_stat()
Oct 5 2020, 6:18 PM

Sep 29 2020

chs requested review of D26596: ufs: restore uniqueness of st_dev.
Sep 29 2020, 10:05 PM

Sep 22 2020

chs added a comment to D26511: Do not leak B_BARRIER..

It might be that brelse/bqrelse should also assert that the flag is cleared, but there I am not that sure.

Sep 22 2020, 5:22 PM

Sep 21 2020

chs added a comment to D26511: Do not leak B_BARRIER..

Would it make sense to put this clearing of B_BARRIER someplace central like in bufdone() rather than in these specific error paths?
If we don't clear this flag in bufdone() then it would be good to assert in bufdone() that the flag is not set, to catch such mistakes earlier.

Sep 21 2020, 11:55 PM

Sep 5 2020

chs committed rS365351: vfs: avoid exposing partially constructed vnodes.
vfs: avoid exposing partially constructed vnodes
Sep 5 2020, 12:26 AM
chs closed D26291: vfs: avoid exposing partially constructed vnodes.
Sep 5 2020, 12:26 AM

Sep 1 2020

chs requested review of D26291: vfs: avoid exposing partially constructed vnodes.
Sep 1 2020, 11:11 PM
chs committed rS365056: Move all of the error prints in readsb() from stderr to stdout..
Move all of the error prints in readsb() from stderr to stdout.
Sep 1 2020, 6:50 PM

Jul 27 2020

chs accepted D25828: vm_page_free_invalid(): Relax the xbusy assertion..

ahh, right. the test I added for this fails the I/O in such a way (using gnop) that the iodone is actually called in the start path, so it's the same thread that xbusied the pages in that case. you said this problem was reported by other automated testing, how does that test fail I/O such that the iodone is called in a separate thread?

Jul 27 2020, 10:14 AM

Jul 23 2020

chs added inline comments to D25431: Add a few atf tests for sendfile, with and without I/O errors..
Jul 23 2020, 3:33 AM
chs added a comment to D25431: Add a few atf tests for sendfile, with and without I/O errors..
In D25431#570827, @ngie wrote:

Curious... is there a reason why this was added in addition to lib/libc/tests/sys/sendfile_test.c?

Jul 23 2020, 3:29 AM

Jul 20 2020

chs committed rS363377: add a few tests for sendfile..
add a few tests for sendfile.
Jul 20 2020, 8:37 PM
chs closed D25431: Add a few atf tests for sendfile, with and without I/O errors..
Jul 20 2020, 8:37 PM

Jul 17 2020

chs committed rS363296: Fix vnode_pager handling of read ahead/behind pages when a disk read fails..
Fix vnode_pager handling of read ahead/behind pages when a disk read fails.
Jul 17 2020, 11:11 PM
chs committed rS363295: Add a new function vm_page_free_invalid() for freeing invalid pages.
Add a new function vm_page_free_invalid() for freeing invalid pages
Jul 17 2020, 11:09 PM
chs committed rS363294: Revert my change from r361855 in favor of a better fix..
Revert my change from r361855 in favor of a better fix.
Jul 17 2020, 11:08 PM
chs closed D25430: Fix one more case of vnode_pager I/O errors.
Jul 17 2020, 11:08 PM
chs updated the diff for D25430: Fix one more case of vnode_pager I/O errors.

update diff for kib's latest comments.

Jul 17 2020, 7:00 PM

Jul 15 2020

chs updated the diff for D25430: Fix one more case of vnode_pager I/O errors.

typo

Jul 15 2020, 11:58 PM
chs updated the diff for D25430: Fix one more case of vnode_pager I/O errors.

rename the new function and limit this diff to only fixing vnode_pager_generic_getpages_done().

Jul 15 2020, 11:51 PM

Jul 14 2020

chs added a comment to D25430: Fix one more case of vnode_pager I/O errors.
In D25430#565910, @kib wrote:
In D25430#565838, @kib wrote:

The proposal means that it is impossible to wire the page in non-sleepable context, unless we own xbusy on the page in advance. I believe this is no-go.

It is unusual for code to wire managed pages without using the busy lock to provide some consistency. vm_page_grab(), etc., provide mechanisms to avoid blocking, so callers can block and retry at a point of their choosing. In fact I cannot see any places in the tree today where a managed wiring is created without the busy lock.

I would agree that wiring could obey to this rule, but I believe we must provide sleep-less mechanism to prevent page from reuse. Some time ago it was hold, since then hold count was merged with wire count, thus wire count should provide such functionality.

Let's keep it for now then. In the meantime, we might generalize vm_page_readahead_free() to handle non-readahead pages. For example, fault_page_free() could also remove the page from its object. This function could also be used in tmpfs_reg_resize() and shm_dotruncate_locked().

Jul 14 2020, 12:39 AM