8 Star 0 Fork 20

src-openEuler / nfs-utils

 / 详情

【21.09】【arm/x86】nfs远程挂载失败,报错:mount.nfs: mount system call failed

已验收
缺陷
创建于  
2021-08-21 19:45

【环境信息】
OS:21.09版本
repo源:everything,OS
[root@localhost ~]# cat /etc/openEuler-latest
openeulerversion=openEuler-21.09
compiletime=2021-08-16-20-35-57
gccversion=10.3.1-20210728.2.oe1
kernelversion=5.10.0-5.1.0.16.oe1
openjdkversion=1.8.0.292.b10-19.oe1
【问题复现步骤】
1、节点1安装nfs-utils,rpcbind
创建/share目录
chmod 777 /share
echo "/share *(rw,sync,fsid=0)" >/etc/exports
ulimit -n 65535
iptables -F
exportfs -r
systemctl stop firewalld
setenforce 0
systemctl start nfs
systemctl start rpcbind
2.节点2安装包nfs-utils
mkdir /web/webapp/;
chmod 777 /web/webapp/;
挂载相应nfs目录
mount -t nfs 节点1的IP:/share /web/webapp/ 预期结果1
【预期结果】
1、远程挂载成功,使用df -h | grep 节点1的IP | grep webapp 可查看挂载成功
输入图片说明
【实际结果】
1、挂载失败,报错:mount.nfs: mount system call failed
输入图片说明

评论 (6)

Hey emily_liuliu, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

Emily_LiuLiu 创建了缺陷
Emily_LiuLiu 负责人设置为markeryang
Emily_LiuLiu 关联分支设置为openEuler-21.09
Emily_LiuLiu 计划开始日期设置为2021-08-21
Emily_LiuLiu 计划截止日期设置为2021-08-24
Emily_LiuLiu 优先级设置为主要
Emily_LiuLiu 关联仓库设置为src-openEuler/nfs-utils
openeuler-ci-bot 添加了
 
sig/Storage
标签
Emily_LiuLiu 修改了描述
Charlie_Li 添加了
 
block
标签
展开全部操作日志

nfs-utils软件包在21.03版本之后再无变动,对比21.09及21.03源码包无差别,21.09环境客户端挂载其他OE版本正常,目前存在问题为作为服务端无法被挂载,挂载命令阻塞,经排查21.09软件包在其他内核版本中正常使用,怀疑为内核态问题,目前正在协调维护内核人员定位。

nfs:
...
svc_recv
svc_alloc_arg
alloc_pages_bulk_array
如果array已经poplutate不应该返回失败。
输入图片说明

修复返回值错误补丁:
commit ff4b2b4014cbffb3d32b22629252f4dc8616b0fe
Author: Mel Gorman mgorman@techsingularity.net
Date: Mon Jun 28 19:33:29 2021 -0700

mm/page_alloc: correct return value of populated elements if bulk array is popula>

Dave Jones reported the following

        This made it into 5.13 final, and completely breaks NFSD for me
        (Serving tcp v3 mounts).  Existing mounts on clients hang, as do
        new mounts from new clients.  Rebooting the server back to rc7
        everything recovers.

The commit b3b64ebd3822 ("mm/page_alloc: do bulk array bounds check after
checking populated elements") returns the wrong value if the array is
already populated which is interpreted as an allocation failure.  Dave
reported this fixes his problem and it also passed a test running dbench
over NFS.

Link: https://lkml.kernel.org/r/20210628150219.GC3840@techsingularity.net
Fixes: b3b64ebd3822 ("mm/page_alloc: do bulk array bounds check after checking po>
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Reported-by: Dave Jones <davej@codemonkey.org.uk>
Tested-by: Dave Jones <davej@codemonkey.org.uk>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: <stable@vger.kernel.org> [5.13+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

合入如下补丁解决:
666e946465e8 mm/page_alloc: correct return value of populated elements if bulk array is populated

zhengzengkai 任务状态待办的 修改为已完成

开发通过在测试机上换内核的方式,我这边也验证了,可以挂载成功,等补丁包合入第二轮,测试后我再验收关单
nfs远程挂载成功:
输入图片说明
服务端的文件在客户端共享成功:
服务端创建了一个文件test
输入图片说明
客户端可以看见
输入图片说明

在21.09第二轮测试中,该问题已经解决:
服务端创建了一个文件testnfs
输入图片说明
客户端挂载成功,服务端的文件testnfs在客户端共享成功:
输入图片说明

Emily_LiuLiu 任务状态已完成 修改为已验收

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(5)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/nfs-utils.git
git@gitee.com:src-openeuler/nfs-utils.git
src-openeuler
nfs-utils
nfs-utils

搜索帮助