使用 NFS 传输文件时出现此错误,并且文件大小被截断
有人能给我提示吗?我们尝试了 2GB,文件在 400 MB 时被截断。
Jun 20 11:09:22 ServerIFM33 kernel: [ 2501.169697] nfsd: SETATTR(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000
Jun 20 11:09:22 ServerIFM33 kernel: [ 2501.169704] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.682093] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.682105] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 0
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.682112] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.690670] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.690684] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 524288
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.690693] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.694520] nfsd: non-standard errno: -16
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.696118] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.696174] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 1048576
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.696180] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.696512] nfsd: write complete host_err=524288
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.700571] nfsd: non-standard errno: -16
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.704554] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.704568] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 1572864
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.704576] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.708904] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.708913] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 2097152
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.708919] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.712200] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.712209] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 2621440
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.712215] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.715398] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.715408] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 3145728
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.715415] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.715533] nfsd: non-standard errno: -16
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.719462] nfsd: non-standard errno: -16
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.720902] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.720913] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 3670016
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.720920] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.724749] nfsd_dispatch: vers 3 proc 7
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.724760] nfsd: WRITE(3) 20: 81010001 00000001 00000000 00000003 00000000 00000000 524288 bytes at 4194304
Jun 20 11:09:26 ServerIFM33 kernel: [ 2504.724766] nfsd: fh_verify(20: 81010001 00000001 00000000 00000003 00000000 00000000)
答案1
另一边的日志说了什么?我怀疑另一边有问题(文件系统已满、不支持大文件等)
根据 /usr/include/errno.h (https://stackoverflow.com/questions/503878/how-to-know-what-the-errno-means)
#define EBUSY 16 /* Device or resource busy */
NFS 错误和 errno.h 代码只有前几个数字相同。当数字达到 16 时,它们就不相关了。然而,这通常是一个线索。http://utcc.utoronto.ca/~cks/space/blog/linux/NFSKernelErrorExplained
(PS:当我在谷歌搜索这个问题的时候,我发现了一篇可能不相关的有趣的文章:http://forums.opensuse.org/showthread.php/454214-SOLVED-ata1-SRST-failed-(errno-16)-启动极慢-BIOS-消失)