1

在 linux 源代码中,我们有两个分支 nfs 和 nfsd。两者有什么区别?

我尝试在两者中寻找 NFS 属性rdattr_error,发现不同的实现。

4

2 回答 2

3

NFS 类似于其他 RPC 服务,它使用服务器端守护程序 (nfsd) 来处理传入请求。它与典型的客户端-服务器模型的不同之处在于 NFS 客户端上的进程自己进行一些 RPC 调用,而其他 RPC 调用由客户端的异步线程进行。所有 NFS 客户端和服务器代码都包含在内核中,而不是包含在服务器守护程序可执行文件中

NFSD:

nfsd 是一个用户级进程,但不包含处理 NFS 请求的代码。nfsd 发出一个系统调用,为内核提供一个传输端点。调用系统调用以启动传输端点上 NFS 请求的内核处理。

NFS:

在客户端,每个访问 NFS 挂载文件系统的进程都会对 NFS 服务器进行自己的 RPC 调用。

参考:

http://docstore.mik.ua/orelly/networking_2ndEd/nfs/ch07_03.htm

于 2015-11-24T13:23:55.563 回答
2

如果你查看这些Kconfig文件,你会看到里面有什么:

fs/nfs/Kconfig:

config NFS_FS
        tristate "NFS client support"

fs/nfsd/Kconfig:

config NFSD
        tristate "NFS server support"
于 2013-10-29T02:58:03.973 回答