Re: [PATCH 1/1] nfs-utils: nfsdctl: dont ignore rdma listener return

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/13/25 12:30 PM, Olga Kornievskaia wrote:
> On Thu, Feb 13, 2025 at 11:01 AM Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
>>
>> On 2/13/25 10:47 AM, Olga Kornievskaia wrote:
>>> Don't ignore return code of adding rdma listener. If nfs.conf has asked
>>> for "rdma=y" but adding the listener fails, don't ignore the failure.
>>> Note in soft-rdma-provider environment (such as soft iwarp, soft roce),
>>> when no address-constraints are used, an "any" listener is created and
>>> rdma-enabling is done independently.
>>
>> This behavior is confusing... I suggest that an nfs.conf man page
>> update accompany the below code change.
> 
> Do you find only the rdma=y soft-rdma case confusing, or do you find
> that when listeners fail and we shouldn't start knfsd threads in
> general confusing?
> 
> It was always the case that if rdma=y is done, then any listener
> created for it does not check whether or not the underlying interface
> is already rdma-enabled. This hasn't changed. Nor does this patch
> change it.

Not saying the patch changes the behavior. But you have to admit the
behavior is surprising and needs clear documentation.


>> Reviewed-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
>>
>>
>>> Fixes: e3b72007ab31 ("nfs-utils: nfsdctl: cleanup listeners if some failed")
>>> Signed-off-by: Olga Kornievskaia <okorniev@xxxxxxxxxx>
>>> ---
>>>  utils/nfsdctl/nfsdctl.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/utils/nfsdctl/nfsdctl.c b/utils/nfsdctl/nfsdctl.c
>>> index 05fecc71..244910ef 100644
>>> --- a/utils/nfsdctl/nfsdctl.c
>>> +++ b/utils/nfsdctl/nfsdctl.c
>>> @@ -1388,7 +1388,7 @@ static int configure_listeners(void)
>>>                       if (tcp)
>>>                               ret = add_listener("tcp", n->field, port);
>>>                       if (rdma)
>>> -                             add_listener("rdma", n->field, rdma_port);
>>> +                             ret = add_listener("rdma", n->field, rdma_port);
>>>                       if (ret)
>>>                               return ret;
>>>               }
>>> @@ -1398,7 +1398,7 @@ static int configure_listeners(void)
>>>               if (tcp)
>>>                       ret = add_listener("tcp", "", port);
>>>               if (rdma)
>>> -                     add_listener("rdma", "", rdma_port);
>>> +                     ret = add_listener("rdma", "", rdma_port);
>>>       }
>>>       return ret;
>>>  }
>>
>>
>> --
>> Chuck Lever
>>
> 


-- 
Chuck Lever




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux