James Gritton
2018-Jun-23 15:50 UTC
jail related inconsistencies in FreeBSD tools parameters
On 2018-06-23 09:45, Eitan Adler wrote:> On 23 June 2018 at 08:30, James Gritton <jamie at freebsd.org> wrote: >> On 2018-06-22 16:03, Miroslav Lachman wrote: >>> >>> Chris H wrote on 2018/06/22 23:46: >>>> >>>> On Fri, 22 Jun 2018 23:13:17 +0200 "Miroslav Lachman" >>>> <000.fbsd at quip.cz> >>>> said >>>> >>>>> I don't know if it is better to discuss it in jail@ or stable@ list >>>>> so a >>>>> do cross-post. >>>>> >>>>> FreeBSD has many jail aware utilities but they are inconsistent in >>>>> taking JID as parameter. >>>>> >>>>> For example "sockstat" takes -j JID "Show only sockets belonging to >>>>> the >>>>> specified jail ID" and it means numeric ID only. >>>>> On the other hand "ps" takes -J JID "This may be either the jid or >>>>> name >>>>> of the jail. Use -J 0 to display only host processes." >>>>> The same apply for "top", it understands jid as a number or name of >>>>> the >>>>> jail too. >>>>> Then again "cpuset" takes only numerical ID of the jail... >>>>> >>>>> Shouldn't it be consistent across all FreeBSD base utilities so all >>>>> of >>>>> them can use numerical ID and name? >>>> >>>> Good idea! Are you offering to create a patch? ;-) >>>> It'd be my guess that given they weren't all created at the same >>>> time, >>>> nor >>>> the same individual; that (quite probably?) the "jail" additions >>>> were >>>> also >>>> added at different times, and by different people. So I'd imagine >>>> that >>>> unless someone with a commit bit decides one day they'd like to take >>>> that >>>> on. Someone(tm) maybe you? will need to propose a patch. :-) >>> >>> >>> If I can understand C sources I will create the patch by myself >>> instead of just posting here. Unfortunately I am able to code in sh, >>> php and a bit of javascript and perl but no C. :) >>> >>> Miroslav Lachman >> >> >> Sure, a PR would be handy for this - it's a pretty simple thing to >> add, and >> consistency would indeed be a good move. > > Agreed. I'll review and commit such patches. I'd like to see a single > function for taking a "id or name". Ideally it would live in a > library, perhaps libjail?It already lives there: jail_getid(3) - Jamie
Eitan Adler
2018-Jun-23 18:58 UTC
jail related inconsistencies in FreeBSD tools parameters
On 23 June 2018 at 08:50, James Gritton <jamie at freebsd.org> wrote:> On 2018-06-23 09:45, Eitan Adler wrote: >> >> On 23 June 2018 at 08:30, James Gritton <jamie at freebsd.org> wrote: >>> >>> On 2018-06-22 16:03, Miroslav Lachman wrote: >>>> >>>> >>>> Chris H wrote on 2018/06/22 23:46: >>>>> >>>>> >>>>> On Fri, 22 Jun 2018 23:13:17 +0200 "Miroslav Lachman" >>>>> <000.fbsd at quip.cz> >>>>> said >>>>> >>>>>> I don't know if it is better to discuss it in jail@ or stable@ list so >>>>>> a >>>>>> do cross-post. >>>>>> >>>>>> FreeBSD has many jail aware utilities but they are inconsistent in >>>>>> taking JID as parameter. >>>>>> >>>>>> For example "sockstat" takes -j JID "Show only sockets belonging to >>>>>> the >>>>>> specified jail ID" and it means numeric ID only. >>>>>> On the other hand "ps" takes -J JID "This may be either the jid or >>>>>> name >>>>>> of the jail. Use -J 0 to display only host processes." >>>>>> The same apply for "top", it understands jid as a number or name of >>>>>> the >>>>>> jail too. >>>>>> Then again "cpuset" takes only numerical ID of the jail... >>>>>> >>>>>> Shouldn't it be consistent across all FreeBSD base utilities so all of >>>>>> them can use numerical ID and name? >>>>> >>>>> >>>>> Good idea! Are you offering to create a patch? ;-) >>>>> It'd be my guess that given they weren't all created at the same time, >>>>> nor >>>>> the same individual; that (quite probably?) the "jail" additions were >>>>> also >>>>> added at different times, and by different people. So I'd imagine that >>>>> unless someone with a commit bit decides one day they'd like to take >>>>> that >>>>> on. Someone(tm) maybe you? will need to propose a patch. :-) >>>> >>>> >>>> >>>> If I can understand C sources I will create the patch by myself >>>> instead of just posting here. Unfortunately I am able to code in sh, >>>> php and a bit of javascript and perl but no C. :) >>>> >>>> Miroslav Lachman >>> >>> >>> >>> Sure, a PR would be handy for this - it's a pretty simple thing to add, >>> and >>> consistency would indeed be a good move. >> >> >> Agreed. I'll review and commit such patches. I'd like to see a single >> function for taking a "id or name". Ideally it would live in a >> library, perhaps libjail? > > > It already lives there: jail_getid(3)I was thinking of a more generic one that does id or name. Now that I think about it a bit more, C makes this kind of thing impossible to do usefully. That said, I'll still review and commit any patches to existing tools to make them behave consistently. -- Eitan Adler