Page MenuHomeFreeBSD
Feed Advanced Search

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

Jul 8 2020

chs updated the diff for D25431: Add a few atf tests for sendfile, with and without I/O errors..

update diff with markj's suggestions.

Jul 8 2020, 12:12 AM

Jul 6 2020

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

updated diff for markj's latest comments.

Jul 6 2020, 10:51 PM
chs added a comment to D25430: Fix one more case of vnode_pager I/O errors.
In D25430#562442, @chs wrote:

And yea, this patch does leave these invalid pages in an odd state, where the pagedaemon can't reclaim them (though if the vnode is reclaimed then all of these invalid pages will be freed at that point). I wasn't going to worry about that right now since the sendfile code already can leave pages in this state after an I/O error, and kib thought that was ok in a review of a previous fix for sendfile I/O error handling. But if you'd like this fix to avoid creating this situation in vnode_pager_generic_getpages_done(), we can do that too.

While I was looking into vm_page_readahead_finish(), I noticed that swp_pager_async_iodone() also leaves pages in this state.

I see. That looks like a bug to me.

Jul 6 2020, 10:49 PM

Jun 26 2020

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

redo diff as markj suggested.

Jun 26 2020, 8:21 PM
chs added a comment to D25430: Fix one more case of vnode_pager I/O errors.

Yea, I didn't know what the problem having invalid pages on the paging queues would be either.

Jun 26 2020, 8:21 PM

Jun 24 2020

chs requested review of D25431: Add a few atf tests for sendfile, with and without I/O errors..
Jun 24 2020, 6:08 PM
chs requested review of D25430: Fix one more case of vnode_pager I/O errors.
Jun 24 2020, 6:04 PM
chs added a comment to D25073: Define M_UFSMNT in ffs_subr.c.

The intention is that ffs_subr.c should only contain functions that are shared by the ufs kernel module and the libufs userland library. At some point the geom_label kernel module started using ffs_subr.c too even though that is cross-module direct reference, which is problematic when not all of the modules are statically included in the base kernel. Now that I moved the functions which are only needed by the ufs kernel module elsewhere, geom_label's instance of ffs_subr.c no longer references M_UFSMNT, so this change is not necessary.

Jun 24 2020, 5:05 PM

Jun 18 2020

chs closed D25285: fix kernel linking without FFS.
Jun 18 2020, 9:32 AM
chs committed rS362292: Move all of the functions in ffs_subr.c that are only used by the ufs kernel.
Move all of the functions in ffs_subr.c that are only used by the ufs kernel
Jun 18 2020, 9:25 AM
chs closed D25285: fix kernel linking without FFS.
Jun 18 2020, 9:25 AM

Jun 16 2020

chs accepted D25285: fix kernel linking without FFS.

Gleb asked me to commit this so that git blame will still blame me. :-)
The diff looks fine to me, adding kirk as a reviewer also.

Jun 16 2020, 4:46 PM

Jun 6 2020

chs committed rS361855: Don't mark pages as valid if reading the contents from disk fails..
Don't mark pages as valid if reading the contents from disk fails.
Jun 6 2020, 12:48 AM
chs closed D25138: Don't mark pages as valid if reading the contents from disk fails..
Jun 6 2020, 12:48 AM
chs committed rS361852: Fix hang due to missing unbusy in sendfile when an async data I/O fails..
Fix hang due to missing unbusy in sendfile when an async data I/O fails.
Jun 6 2020, 12:03 AM
chs closed D25136: Fix hang due to missing unbusy in sendfile when an async data I/O fails..
Jun 6 2020, 12:03 AM

Jun 4 2020

chs added reviewers for D25138: Don't mark pages as valid if reading the contents from disk fails.: kib, glebius, markj.
Jun 4 2020, 10:06 PM
chs requested review of D25138: Don't mark pages as valid if reading the contents from disk fails..
Jun 4 2020, 10:06 PM
chs added reviewers for D25136: Fix hang due to missing unbusy in sendfile when an async data I/O fails.: kib, glebius, markj.
Jun 4 2020, 9:51 PM
chs requested review of D25136: Fix hang due to missing unbusy in sendfile when an async data I/O fails..
Jun 4 2020, 9:49 PM

May 25 2020

chs committed rS361491: This commit enables a UFS filesystem to do a forcible unmount when.
This commit enables a UFS filesystem to do a forcible unmount when
May 25 2020, 11:47 PM

May 13 2020

chs updated the diff for D24088: handle disk I/O errors in FFS with softdep enabled..

really remove putpages wrapper this time.

May 13 2020, 11:42 PM
chs updated the diff for D24088: handle disk I/O errors in FFS with softdep enabled..

update to address review comments.

May 13 2020, 11:34 PM

May 12 2020

chs added inline comments to D24088: handle disk I/O errors in FFS with softdep enabled..
May 12 2020, 11:28 PM

May 8 2020

chs updated the diff for D24088: handle disk I/O errors in FFS with softdep enabled..

update diff to 360823

May 8 2020, 8:26 PM

May 2 2020

chs committed rS360559: Print the fs last-mounted time too..
Print the fs last-mounted time too.
May 2 2020, 12:10 AM

May 1 2020

chs added a comment to D24088: handle disk I/O errors in FFS with softdep enabled..

Are there any more comments on this diff?

May 1 2020, 7:24 PM

Apr 19 2020

chs added a comment to D24480: Avoid panicing for commands that poll-out..

generally, having the function that submits an async request return a pointer a request structure that is freed when the request completes is a bad idea, since the caller will have handle the request structure having already been freed, and thus having a pointer to it isn't useful. as you guys discussed, using the normal timeout path for polled commands (and fixing the normal timeout path to not be racy) would be good. a fun corner case will be when the use of the abort command in the timeout path itself times out.

Apr 19 2020, 9:59 PM

Apr 3 2020

chs added inline comments to D24272: Print more detail as part of the sonewconn() overflow message.
Apr 3 2020, 8:41 PM

Mar 30 2020

chs added inline comments to D24088: handle disk I/O errors in FFS with softdep enabled..
Mar 30 2020, 9:01 PM

Mar 18 2020

chs updated the summary of D24088: handle disk I/O errors in FFS with softdep enabled..
Mar 18 2020, 5:26 PM

Mar 16 2020

chs created D24088: handle disk I/O errors in FFS with softdep enabled..
Mar 16 2020, 6:19 PM

Mar 9 2020

chs committed rS358812: Use the devfs vnode rather than the mntfs vnode for permissions checks..
Use the devfs vnode rather than the mntfs vnode for permissions checks.
Mar 9 2020, 3:55 PM

Mar 6 2020

chs committed rS358714: Add a new "mntfs" pseudo file system which provides private device vnodes for.
Add a new "mntfs" pseudo file system which provides private device vnodes for
Mar 6 2020, 6:41 PM
chs closed D23787: add "mntfs" private vnodes for file systems to access their storage safely.
Mar 6 2020, 6:41 PM
chs added inline comments to D23787: add "mntfs" private vnodes for file systems to access their storage safely.
Mar 6 2020, 12:53 AM

Mar 5 2020

chs updated the diff for D23787: add "mntfs" private vnodes for file systems to access their storage safely.

update with changes suggested by kib and imp.

Mar 5 2020, 6:49 PM

Mar 4 2020

chs committed rS358597: if vm_pager_get_pages_async() returns an error, release the sfio->nios.
if vm_pager_get_pages_async() returns an error, release the sfio->nios
Mar 4 2020, 12:23 AM

Feb 26 2020

chs added a comment to D23787: add "mntfs" private vnodes for file systems to access their storage safely.

There's no central place in the ufs code to add an assertion about not creating buffers on odevvp. What I could do is define a new BO_NOBUFS flag for bufobj bo_flag, set that flag on odevvp in ffs_mountfs() and clear the flag in ffs_unmount(), and then in buf_vlist_add() assert that (bo->bo_flag & BO_NOBUFS) == 0. Is that what you had in mind?

Feb 26 2020, 10:36 PM

Feb 21 2020

chs added reviewers for D23787: add "mntfs" private vnodes for file systems to access their storage safely: imp, mckusick, kib.
Feb 21 2020, 10:57 PM
chs created D23787: add "mntfs" private vnodes for file systems to access their storage safely.
Feb 21 2020, 10:56 PM

Feb 18 2020

chs committed rS358058: amd64: keep PTE bitmasks in sync with target pmap during pv reclaim.
amd64: keep PTE bitmasks in sync with target pmap during pv reclaim
Feb 18 2020, 12:02 AM

Feb 3 2020

chs committed rS357456: With INVARIANTS, track all softdep dependency structures centrally.
With INVARIANTS, track all softdep dependency structures centrally
Feb 3 2020, 5:47 PM

Jan 16 2020

chs accepted D23117: Use buf to send speedup.

minor nit: the returned "resid" value is unused. otherwise looks good.

Jan 16 2020, 10:44 PM
chs accepted D23182: We only want to send the speedup to the lower layers when there's a shortage..

looks good.

Jan 16 2020, 10:43 PM
chs accepted D23183: Pass BIO_SPEEDUP through all the geom layers.

looks good.

Jan 16 2020, 10:40 PM

Nov 28 2019

chs committed rS355150: As part of creating a snapshot, set fs->fs_fmod to 0 in the snapshot image.
As part of creating a snapshot, set fs->fs_fmod to 0 in the snapshot image
Nov 28 2019, 12:37 AM

Nov 25 2019

chs committed rS355098: In ffs_freefile(), use a separate variable to hold the inode number within.
In ffs_freefile(), use a separate variable to hold the inode number within
Nov 25 2019, 7:31 PM

Nov 12 2019

chs committed rS354632: In ufs_dir_dd_ino(), always initialize *dd_vp since the caller expects it..
In ufs_dir_dd_ino(), always initialize *dd_vp since the caller expects it.
Nov 12 2019, 12:32 AM

Oct 16 2019

chs committed rS353668: Make all the gnop parameters optional in the request from userland,.
Make all the gnop parameters optional in the request from userland,
Oct 16 2019, 9:50 PM
chs committed rS353667: Add a new gctl_get_paraml_opt() interface to extract optional parameters from.
Add a new gctl_get_paraml_opt() interface to extract optional parameters from
Oct 16 2019, 9:50 PM
chs closed D21972: Add support to geom_nop.ko kernel module for older geom_nop.so userland modules..
Oct 16 2019, 9:50 PM

Oct 10 2019

chs added inline comments to D21972: Add support to geom_nop.ko kernel module for older geom_nop.so userland modules..
Oct 10 2019, 9:52 PM
chs created D21972: Add support to geom_nop.ko kernel module for older geom_nop.so userland modules..
Oct 10 2019, 6:33 PM