トップ 一覧 Farm 検索 ヘルプ RSS ログイン

NFSの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{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;
 };