- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
{{category FreeBSD}}
!!FreeBSDでのnfsd
:/usr/src/usr.sbin/nfsd.c:引数およびソケットの解析をしnfssvc()を呼んでいる
[[FreeBSDのNFS|FreeBSDNFS]]
!!NFS2の動作について
*通常のアプリケーションが、ファイルアクセスを実行
*その要求は、OS カーネルに届く
*カーネルは、そのファイルシステムが、NFS 経由でネットワーク上にあると識別し、 NFS クライアントへ要求を受け渡す
*NFS クライアントは、RPC コールを実施
*RPC は、UDP/IP を利用して、NFS サーバのあるホストへ要求を渡す
*NFS サーバのホストの UDP/IP モジュールは、要求を RPC サーバへ渡す
*RPC サーバが、NFS サーバへ要求を渡す
*NFS サーバが、サーバのカーネルのローカルファイルアクセスを要求
*サーバのカーネルがファイルアクセスを実施
*結果を戻していく(以下省略)
!!RPCメモ
[コンピューターC言語講座RPCについて(1)|http://www.ncad.co.jp/~komata/c-kouza15.htm]
!!ファイルアトリビュート
struct nfs_fattr {
u_int32_t fa_type;
u_int32_t fa_mode;
u_int32_t fa_nlink;
u_int32_t fa_uid;
u_int32_t fa_gid;
union {
struct {
u_int32_t nfsv2fa_size;
u_int32_t nfsv2fa_blocksize;
u_int32_t nfsv2fa_rdev;
u_int32_t nfsv2fa_blocks;
u_int32_t nfsv2fa_fsid;
u_int32_t nfsv2fa_fileid;
nfstime2 nfsv2fa_atime;
nfstime2 nfsv2fa_mtime;
nfstime2 nfsv2fa_ctime;
} fa_nfsv2;
struct {
nfsuint64 nfsv3fa_size;
nfsuint64 nfsv3fa_used;
nfsv3spec nfsv3fa_rdev;
nfsuint64 nfsv3fa_fsid;
nfsuint64 nfsv3fa_fileid;
nfstime3 nfsv3fa_atime;
nfstime3 nfsv3fa_mtime;
nfstime3 nfsv3fa_ctime;
} fa_nfsv3;
} fa_un;
};