2021-03-04 14:01:48

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH 0/7 V4] The NFSv4 only mounting daemon.



On 3/3/21 4:54 PM, J. Bruce Fields wrote:
> On Wed, Mar 03, 2021 at 04:22:28PM -0500, Steve Dickson wrote:
>> Hey!
>>
>> On 3/3/21 10:23 AM, J. Bruce Fields wrote:
>>> On Tue, Mar 02, 2021 at 05:33:23PM -0500, Steve Dickson wrote:
>>>>
>>>>
>>>> On 2/24/21 3:30 PM, J. Bruce Fields wrote:
>>>>> On Fri, Feb 19, 2021 at 03:08:08PM -0500, Steve Dickson wrote:
>>>>>> nfsv4.exportd is a daemon that will listen for only v4 mount upcalls.
>>>>>> The idea is to allow distros to build a v4 only package
>>>>>> which will have a much smaller footprint than the
>>>>>> entire nfs-utils package.
>>>>>>
>>>>>> exportd uses no RPC code, which means none of the
>>>>>> code or arguments that deal with v3 was ported,
>>>>>> this again, makes the footprint much smaller.
>>>>>
>>>>> How much smaller?
>>>> Will a bit smaller... but a number of daemons like nfsd[cld,clddb,cldnts]
>>>> need to also come a long.
>>>
>>> Could we get some numbers?
>>>
>>> Looks like nfs-utils in F33 is about 1.2M:
>>>
>>> $ rpm -qi nfs-utils|grep ^Size
>>> Size : 1243512
>>>
>>> $ strip utils/mountd/mountd
>>> $ ls -lh utils/mountd/mountd
>>> -rwxrwxr-x. 1 bfields bfields 128K Mar 3 10:12 utils/mountd/mountd
>>> $ strip utils/exportd/exportd
>>> $ ls -lh utils/exportd/exportd
>>> -rwxrwxr-x. 1 bfields bfields 106K Mar 3 10:12 utils/exportd/exportd
>>>
>>> So replacing mountd by exportd saves us about 20K out of 1.2M. Is it
>>> worth it?
>> In smaller foot print I guess I meant no v3 daemons, esp rpcbind.
>
> The rpcbind rpm is 120K installed, so if the new v4-only rpm has no
> dependency on rpcbind then we save 120K.
I believe it is more of a functionally thing than a size thing
WRT to containers.

>
> So, for stuff needed in both v4-only and full cases, would we package
> that in a common rpm that they both depend on?
Well... if we want the packages to be compatible yes there would
have to be a common rpm (aka nfs.conf, nfsmount.conf, upcall stuff)
But if one only wants a client or server then they don't have
to be compatible...

steved.