Page MenuHomeFreeBSD

sobomax (Maksym Sobolyev)
User

Projects

User Details

User Since
Jan 29 2016, 5:27 AM (168 w, 23 h)

Recent Activity

Wed, Apr 10

sobomax removed a reviewer for D19706: Kernel code to upgrade to use the latest contrib/zlib.: sobomax.
Wed, Apr 10, 5:48 AM

Thu, Mar 28

sobomax abandoned D19707: Prevent atime from being updated when TMPFS(5) is mounted read-only.
Thu, Mar 28, 5:37 PM
sobomax accepted D19737: Handle ro remount of tmpfs rw mount..

Looks good to my VFS-naive eye. Thanks!

Thu, Mar 28, 5:37 PM

Wed, Mar 27

sobomax added a reviewer for D19706: Kernel code to upgrade to use the latest contrib/zlib.: sobomax.
Wed, Mar 27, 9:42 PM
sobomax added a comment to D19706: Kernel code to upgrade to use the latest contrib/zlib..

Overall looks like a good start, however there are some things that I personally dislike:

Wed, Mar 27, 9:26 PM

Tue, Mar 26

sobomax resigned from D6208: [geom] g_label_ufs may not find UFS1 header in case of usage GEOM_UZIP.

Not sure why this is still open. @mizhka_gmail.com please GC?

Tue, Mar 26, 5:43 PM
sobomax added reviewers for D19707: Prevent atime from being updated when TMPFS(5) is mounted read-only: alc, mjg.
Tue, Mar 26, 5:23 PM
sobomax added a comment to D19707: Prevent atime from being updated when TMPFS(5) is mounted read-only.
In D19707#422201, @kib wrote:

Your 'fix' is not enough even for mtime. Look at the tmpfs_sync(MNT_LAZY).

Tue, Mar 26, 5:19 PM
sobomax updated the diff for D19707: Prevent atime from being updated when TMPFS(5) is mounted read-only.

Check read-only flag in an unified manner.

Tue, Mar 26, 4:55 PM
sobomax created D19707: Prevent atime from being updated when TMPFS(5) is mounted read-only.
Tue, Mar 26, 3:33 AM
sobomax committed rS345514: Refine r345425: get rid of superfluous helper macro that I have added..
Refine r345425: get rid of superfluous helper macro that I have added.
Tue, Mar 26, 1:28 AM

Fri, Mar 22

sobomax added inline comments to D19682: Make it possible to update TMPFS mount point from read-only to read-write and vice versa..
Fri, Mar 22, 11:09 PM
sobomax added a comment to D19682: Make it possible to update TMPFS mount point from read-only to read-write and vice versa..
In D19682#421511, @kib wrote:

As I understand, currently ro tmpfs mounts are useless and the code is incomplete. I did very quick look and the first VOP I looked at, tmpfs_mkdir(), seems to allow modifications of the ro mounts (this is from code reading, not from testing). Was code review done to ensure that read-only tmpfs mounts indeed operate as intended ?

Fri, Mar 22, 11:00 PM
sobomax committed rS345425: Make it possible to update TMPFS mount point from read-only to read-write.
Make it possible to update TMPFS mount point from read-only to read-write
Fri, Mar 22, 9:31 PM
sobomax closed D19682: Make it possible to update TMPFS mount point from read-only to read-write and vice versa..
Fri, Mar 22, 9:31 PM
sobomax created D19682: Make it possible to update TMPFS mount point from read-only to read-write and vice versa..
Fri, Mar 22, 8:01 PM

Feb 25 2019

sobomax committed rS344555: Improve error handling: bail out if one of the files scheduled.
Improve error handling: bail out if one of the files scheduled
Feb 25 2019, 11:45 PM
sobomax closed D18584: makefs(8) improper error handling (or lack of thereof).
Feb 25 2019, 11:45 PM
sobomax added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

Given that this plausibly works only with two different /etc/fstab files, I think your change should also include an update to the manual page to explain how the update keyword is intended to be used.

Feb 25 2019, 11:27 PM
sobomax updated the diff for D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

Document "update" option, as suggested by @mckusick

Feb 25 2019, 11:27 PM
sobomax requested changes to D19266: Modularize xz..
In D19266#413225, @kib wrote:

Rebase; fix conflicts.
Formatting and comment changes.

Feb 25 2019, 8:52 PM

Feb 23 2019

sobomax closed D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Feb 23 2019, 11:31 PM · network
sobomax committed rS344488: Further refine r336195: do not even attempt to verify/update interface's.
Further refine r336195: do not even attempt to verify/update interface's
Feb 23 2019, 11:31 PM
sobomax committed rS344479: o Get rid of silly comment which seems to have got life of its own via.
o Get rid of silly comment which seems to have got life of its own via
Feb 23 2019, 12:00 AM

Feb 22 2019

sobomax added inline comments to D19266: Modularize xz..
Feb 22 2019, 11:17 PM
sobomax added inline comments to D19266: Modularize xz..
Feb 22 2019, 11:12 PM
sobomax added inline comments to D19266: Modularize xz..
Feb 22 2019, 11:02 PM
sobomax added inline comments to D19266: Modularize xz..
Feb 22 2019, 10:55 PM
sobomax added a comment to D19266: Modularize xz..
In D19266#412957, @kib wrote:
In D19266#412909, @cem wrote:

geom_uzip(4) uses zlib module without the need to add dummy "device zlib" into kernel, why xz code should be any different?

zlib is built if geom_uzip is enabled in conf/files:

libkern/zlib.c                  optional crypto | geom_uzip | ipsec | \
        ipsec_support | mxge | netgraph_deflate | ddb_ctf | gzio

(Also, zlib has many other consumers. xz-embedded has limited general utility, due to being a decompress-only subset of lzma. So I am not sure xz will gain many more consumers. I agree adding 'device xz' to a million MIPS kernel configurations is an ugly repercussion of this choice.)

What you cited is clear example why I (and others) do not do this dependency tracking insanity in the conf/files syntax. Config(8) is only effective at flat dependencies where all required config options are explicitly provided in the kernel config file. Tracking dependencies like turn on B when A is on, but also consider side effects from C, D, E, architecture, and so on, is impossible with it.

I thought it is obvious that the only reason why I wrote this patch is because there are more planned consumers of xz in kernel, which alone is the reason why I want it to be a dedicated option, and why I want (need) to avoid the dependency drama.

Also see the recent discussion of iflib modularization.

That said, are there any other _technical_ notes about the diff ?

Feb 22 2019, 10:46 PM
sobomax requested changes to D19266: Modularize xz..
In D19266#412644, @kib wrote:

Remove 'device geom_uzip', add xz to notes.

Feb 22 2019, 2:59 AM

Feb 21 2019

sobomax added a comment to D19266: Modularize xz..

Also "device xz" needs to be added to the conf/NOTES.

Feb 21 2019, 2:01 AM
sobomax requested changes to D19266: Modularize xz..

Looks good overall. I am little bit puzzled over usage of "option GEOM_UZIP" vs. "device geom_uzip + device xz". I suspect those are functionally equivalent. Half of the kernel configs in the tree use former (including NOTES) and half the latter. Some subset of the two use both. :( Since you are touching those files anyways, perhaps you can go and convert all cases of "device geom_uzip" into plain "option GEOM_UZIP" and not patch it up by adding device xz? It might be also a good idea to adjust geom_uzip(4) accordingly to provide "One-True-Way" to compile geom_uzip(4) statically into the kernel? Thanks!

Feb 21 2019, 1:37 AM

Jan 17 2019

sobomax added a comment to D18382: Add new "trim" conversion for dd(1).

o Due to popular request rename "erase" into "trim".

You need now fix clist[] array in the args.c as it must be sorted or else bsearch() fails to find "trim" and dd conv=trim bails out with error "unknown conversion trim".

Jan 17 2019, 9:54 PM
sobomax updated the diff for D18382: Add new "trim" conversion for dd(1).

Keep clist[] array in the args.c sorted by the name so that bsearch() DTRT.

Jan 17 2019, 9:51 PM

Dec 19 2018

sobomax added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.
In D18586#396514, @kib wrote:

So what happen when somebody run 'mount -a' second time, with non-idempotent mount option + update ?

Dec 19 2018, 6:57 PM

Dec 18 2018

sobomax added a comment to D18586: mount(8) does not handle "update" option in the fstab(5) correctly.

This change does not seem wrong, though the only way I can see it being usable is to have the read-only mount's in /etc/fstab, then a special fstab that has the desired update mount lines in it.

Dec 18 2018, 3:37 PM

Dec 17 2018

sobomax updated the summary of D18586: mount(8) does not handle "update" option in the fstab(5) correctly.
Dec 17 2018, 10:49 PM
sobomax created D18586: mount(8) does not handle "update" option in the fstab(5) correctly.
Dec 17 2018, 5:14 PM
sobomax updated the summary of D18584: makefs(8) improper error handling (or lack of thereof).
Dec 17 2018, 4:45 PM
sobomax updated the test plan for D18584: makefs(8) improper error handling (or lack of thereof).
Dec 17 2018, 4:43 PM
sobomax added a reviewer for D18584: makefs(8) improper error handling (or lack of thereof): emaste.
Dec 17 2018, 4:43 PM
sobomax created D18584: makefs(8) improper error handling (or lack of thereof).
Dec 17 2018, 4:43 PM
sobomax closed D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.
Dec 17 2018, 4:00 PM · network
sobomax committed rS342168: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4).
Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4)
Dec 17 2018, 4:00 PM
sobomax committed rS342167: MFC r341257: improve speed of empty block detection..
MFC r341257: improve speed of empty block detection.
Dec 17 2018, 3:20 PM
sobomax committed rS342166: MFC r341257: improve speed of empty block detection..
MFC r341257: improve speed of empty block detection.
Dec 17 2018, 3:17 PM
sobomax committed rS342165: MFC r341253: panic() should not apply \n..
MFC r341253: panic() should not apply \n.
Dec 17 2018, 3:14 PM

Dec 14 2018

sobomax added a comment to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
  1. At some point administrator logins and changes MTU from value X prescribed by the DHCP to some other value Y of his liking.

JFYI: the PR 229432 mentiones working way to ignore option 26 (MTU) supplied by DHCP server:

interface "em0" {

supersede interface-mtu 0;

}

Dec 14 2018, 8:39 PM · network
sobomax added a comment to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.

@eugen_grosbein.net actually upon thinking a little bit more about the difference between this proposed change and r336195 I came to a conclusion that those two are not necessarily mutually exclusive, but rather complementing each other. The problem with just r336195 alone is that it invalidates implicit expectations that dhclient should not try to touch interface at all after initial configuration, unless there are some changes on the DHCP side. As an administrator, I'd not expect dhclient to be actively policing interface parameters and try to enforce them, which would be the case for MTU now. Consider the following hypothetical scenario:

Dec 14 2018, 6:08 PM · network
sobomax added a comment to D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Yes, it requires corruption of private node memory. As owner of multiple routers mass servicing thousands of customers using multiple NETGRAPH nodes I can assure you that panic is not appropriatie action. Appropriate action is some form of block for traffic flow trough the node in question (with logging) leaving other nodes working.

Well, that's where I respectively disagree. As an owner of hundreds of FreeBSD systems servicing many millions of customers I think that rebooting the system immediately after any slight kernel heap/stack memory corruption is detected is not just appropriate but the only sane action available. Shutting down particular netgraph node and hope for the best would just leave the service down indefinitely with no hope for any sorts of automatic recovery.

Node destruction and recreation is easily implemented automatic recovery. We obviously have different usage patterns. I use net/mpd5 that can use ng_nat connecting it to the session that can be destroyed and re-created by any of "client" or "server" recovering from corruption and not interfering with other sessions. Other usage patterns can react on such event to re-create nodes too.

Dec 14 2018, 4:39 PM · network
sobomax added inline comments to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Dec 14 2018, 4:11 PM · network
sobomax added a comment to D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.

Hmm, there was https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229432 and corresponding commit https://svnweb.freebsd.org/base?view=revision&revision=336195 fixing the problem.

Was it insufficient or your tree does not have that fix?

Dec 14 2018, 4:09 PM · network
sobomax updated the summary of D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Dec 14 2018, 1:18 AM · network
sobomax created D18546: dhclient(8) issues unneeded ioctl(SIOCSIFMTU) on every lease renew.
Dec 14 2018, 1:13 AM · network

Dec 13 2018

sobomax added a comment to D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Looks good with one exception: additional plain panic(). Can it be replaced with KASSERT?

IDK, there is no way this option to be set to anything but DLT_RAW or DLT_EN10MB in the course of normal operation of the node. So it would require some form of memory corruption to actually happen. IDK, panic(9) seems an appropriate action in that case. There are other panic(9) call in the code in similar situations.

Yes, it requires corruption of private node memory. As owner of multiple routers mass servicing thousands of customers using multiple NETGRAPH nodes I can assure you that panic is not appropriatie action. Appropriate action is some form of block for traffic flow trough the node in question (with logging) leaving other nodes working.

Dec 13 2018, 9:12 PM · network
sobomax added a comment to D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Looks good with one exception: additional plain panic(). Can it be replaced with KASSERT?

Dec 13 2018, 3:23 PM · network

Dec 12 2018

sobomax updated the diff for D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.

Make sure we have enough data for ethernet header.

Dec 12 2018, 10:58 PM · network
sobomax created D18535: Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) and such.
Dec 12 2018, 10:48 PM · network
sobomax committed rS342002: Add NETGRAPH_CHECKSUM..
Add NETGRAPH_CHECKSUM.
Dec 12 2018, 8:41 PM
sobomax committed rS341996: Add NETGRAPH_CHECKSUM..
Add NETGRAPH_CHECKSUM.
Dec 12 2018, 7:02 PM
sobomax committed rS341991: MFC: r340745, fix CU: output of the --debug-dump=decodedline..
MFC: r340745, fix CU: output of the --debug-dump=decodedline.
Dec 12 2018, 4:28 PM

Dec 9 2018

sobomax committed rS341750: MFC: r340745, fix CU: output of the --debug-dump=decodedline..
MFC: r340745, fix CU: output of the --debug-dump=decodedline.
Dec 9 2018, 3:10 AM
sobomax committed rS341749: Hook up ng_checksum(4) module and appropriate manpage to the build. The module.
Hook up ng_checksum(4) module and appropriate manpage to the build. The module
Dec 9 2018, 2:59 AM

Dec 6 2018

sobomax committed rS341640: Apparently @portmgr does not feel like my current level of contribution.
Apparently @portmgr does not feel like my current level of contribution
Dec 6 2018, 6:13 PM

Dec 4 2018

sobomax committed rS341494: Another attempt to fix issue with the DIOCGDELETE ioctl(2) not.
Another attempt to fix issue with the DIOCGDELETE ioctl(2) not
Dec 4 2018, 9:50 PM

Nov 30 2018

sobomax retitled D18382: Add new "trim" conversion for dd(1) from Add new "erase" conversion for dd(1) to Add new "trim" conversion for dd(1).
Nov 30 2018, 5:57 PM
sobomax added inline comments to D18382: Add new "trim" conversion for dd(1).
Nov 30 2018, 5:47 PM
sobomax updated the diff for D18382: Add new "trim" conversion for dd(1).

o Due to popular request rename "erase" into "trim".

Nov 30 2018, 5:47 PM
sobomax committed rS341276: When handling CMD_CRIT error set command_errmsg to NULL after we dump it out,.
When handling CMD_CRIT error set command_errmsg to NULL after we dump it out,
Nov 30 2018, 2:15 AM

Nov 29 2018

sobomax committed rS341257: Replace hand-crafted naive byte-by-byte zero block detection routine.
Replace hand-crafted naive byte-by-byte zero block detection routine
Nov 29 2018, 7:28 PM
sobomax updated the summary of D18382: Add new "trim" conversion for dd(1).
Nov 29 2018, 7:04 PM
sobomax created D18382: Add new "trim" conversion for dd(1).
Nov 29 2018, 7:00 PM
sobomax committed rS341253: The libstand's panic() appends its own '\n' to the message, so that users of….
The libstand's panic() appends its own '\n' to the message, so that users of…
Nov 29 2018, 6:39 PM

Nov 23 2018

sobomax committed rS340857: Nuke out buffer overflow safety marker code, it duplicates similar code in.
Nuke out buffer overflow safety marker code, it duplicates similar code in
Nov 23 2018, 10:37 PM
sobomax closed D18299: Get rid of superfluous "bug marker" code in the bcache.
Nov 23 2018, 10:37 PM

Nov 22 2018

sobomax updated the summary of D18299: Get rid of superfluous "bug marker" code in the bcache.
Nov 22 2018, 6:22 PM
sobomax updated the summary of D18299: Get rid of superfluous "bug marker" code in the bcache.
Nov 22 2018, 6:18 PM
sobomax created D18299: Get rid of superfluous "bug marker" code in the bcache.
Nov 22 2018, 6:16 PM

Nov 21 2018

sobomax closed D18290: readelf --debug-dump=decodedline produces incorrect results.
Nov 21 2018, 9:46 PM
sobomax committed rS340745: Fix CU: output of the --debug-dump=decodedline, the problem there.
Fix CU: output of the --debug-dump=decodedline, the problem there
Nov 21 2018, 9:46 PM
sobomax updated the summary of D18290: readelf --debug-dump=decodedline produces incorrect results.
Nov 21 2018, 4:47 PM
sobomax updated the summary of D18290: readelf --debug-dump=decodedline produces incorrect results.
Nov 21 2018, 3:46 PM
sobomax updated the summary of D18290: readelf --debug-dump=decodedline produces incorrect results.
Nov 21 2018, 3:44 PM
sobomax created D18290: readelf --debug-dump=decodedline produces incorrect results.
Nov 21 2018, 3:40 PM

Nov 7 2018

sobomax committed rS340220: Revert r340187, it breaks EOD (end-of-device) detection logic. Turns out,.
Revert r340187, it breaks EOD (end-of-device) detection logic. Turns out,
Nov 7 2018, 4:28 PM

Nov 6 2018

sobomax committed rS340187: Don't allow BIO_READ, BIO_WRITE or BIO_DELETE requests that are.
Don't allow BIO_READ, BIO_WRITE or BIO_DELETE requests that are
Nov 6 2018, 3:55 PM

Oct 1 2018

sobomax committed rS339066: MFC r309554 and r309631 which breaks down overly long monolithic.
MFC r309554 and r309631 which breaks down overly long monolithic
Oct 1 2018, 5:26 PM

Sep 12 2018

sobomax committed rS338617: MFC r312296 and r323254, which is new a socket option.
MFC r312296 and r323254, which is new a socket option
Sep 12 2018, 6:52 PM

Jul 23 2018

sobomax accepted D16115: geli init multiple providers.

Looks good to me.

Jul 23 2018, 5:33 PM

Jun 26 2018

sobomax accepted D12644: geli attach multiple providers (no kernel changes).

Looks fine to me. Just two small code nits.

Jun 26 2018, 3:39 PM

Nov 12 2017

sobomax added inline comments to D9396: geli attach multiple providers (with kernel changes).
Nov 12 2017, 1:04 PM
sobomax added inline comments to D9396: geli attach multiple providers (with kernel changes).
Nov 12 2017, 1:33 AM
sobomax requested changes to D9396: geli attach multiple providers (with kernel changes).
Nov 12 2017, 1:25 AM

Nov 3 2017

sobomax committed rP453406: Fix build on FreeBSD 10.3 (compiler lacks -R option)..
Fix build on FreeBSD 10.3 (compiler lacks -R option).
Nov 3 2017, 1:21 PM

Sep 8 2017

sobomax committed rS323322: Correct bintime32 declaration: uint32_t sec -> time32_t sec..
Correct bintime32 declaration: uint32_t sec -> time32_t sec.
Sep 8 2017, 6:32 PM

Sep 7 2017

sobomax committed rS323254: In the recvmsg32() system call iterate over returned structure(s).
In the recvmsg32() system call iterate over returned structure(s)
Sep 7 2017, 4:30 AM

Aug 30 2017

sobomax committed rS323019: Add proper support for the md_label into md(4) ioctl compat layer..
Add proper support for the md_label into md(4) ioctl compat layer.
Aug 30 2017, 3:07 PM

Aug 28 2017

sobomax committed rS322983: MFC r320048+r320301+r320277:.
MFC r320048+r320301+r320277:
Aug 28 2017, 8:55 PM
sobomax committed rS322969: Add ability to label md(4) devices..
Add ability to label md(4) devices.
Aug 28 2017, 3:54 PM
sobomax closed D10457: Add ability to label md(4) devices by committing rS322969: Add ability to label md(4) devices..
Aug 28 2017, 3:54 PM