ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>ÍøÕ¾ÔËÓª>½¨Õ¾¾­Ñé>Áбí

¶ÔnfsÈçºÎÓÅ»¯

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-04-16
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!
Ëû×÷Ϊ SETCLIENTID ÔËËãµÄÒ»²¿·Ö£¬Äܹ»Ö¸¶¨ÕýÕ¼ÓÃÒ»¸ö clientid µÄ¿Í»§µçÄԵĵØÖ·£¬Ò²Äܹ»×÷Ϊ callback registration µÄÒ»²¿·Ö¡£

cb_client4

struct cb_client4 {
unsigned int cb_program;
clientaddr4 cb_location;
};

¿Í»§µçÄÔʹÓñ¾½á¹¹ÀàÐ͵ÄÊý¾ÝÀ´Í¨Öª·þÎñÆ÷»ØºôµØÖ·£»°üÀ¨³ÌʽºÅºÍ¿Í»§µçÄÔµØÖ·¡£

nfs_client_id4

struct nfs_client_id4 {
verifier4 verifier;
opaque id<NFS4_OPAQUE_LIMIT>;
};

±¾½á¹¹ÀàÐ͵ÄÊý¾ÝÊÇ SETCLIENTID operation ¶Ô»°µÄÒ»²¿·Ö¡£

open_owner4

Struct open_owner4 {
clientid4 clientid;
opaque wner<NFS4_OPAQUE_LIMIT>;
};

±¾½á¹¹ÀàÐ͵ÄÊý¾ÝÓÃÓÚʶ±ð¿ª·Å״̬µÄÓû§¡£

lock_owner4

struct lock_owner4 {
clientid4 clientid;
opaque owner<NFS4_OPAQUE_LIMIT>;
};

±¾½á¹¹ÀàÐ͵ÄÊý¾ÝÓÃÓÚʶ±ðÎĵµËø¶¨×´Ì¬µÄÓû§¡£

open_to_lock_owner4

struct open_to_lock_owner4 {
seqid4 open_seqid;
stateid4 open_stateid;
seqid4 lock_seqid;
lock_owner4 lock_owner;
};

±¾½á¹¹ÀàÐ͵ÄÊý¾ÝÓÃÓÚ open_owner4 µÄµÚÒ»´ÎÍê³ÉµÄËø¶¨²Ù×÷¡£ËûÌṩ open_stateid ºÍ lock_owner £¬ÒÔ±ãÓÚ´ÓÒ»¸öÓÐЧµÄ open_stateid sequence ÏòÒ»¸öÐ嵀 lock_stateid sequence ¿ªÊ¼Ò»´Î´«Êä¡£

stateid4

struct stateid4 {
uint32_t seqid;
opaque other[12];
};

±¾½á¹¹ÀàÐ͵ÄÊý¾ÝÓÃÓÚ¿Í»§µçÄԺͷþÎñÆ÷Ö®¼ä¸÷ÖÖ²»Í¬µÄ¹²Ïí»úÖÆ¡£


ЭÒé½á¹¹SMB¡¢CIFS¡¢RPC¡¢TCP¡¢UDP
×éÖ¯À´Ô´NFS ×î³õÓÉ Sun ΢ϵͳ¹«Ë¾Ñз¢£¬ÏÖÔÚΪ IETF ЭÒé¡£
Ïà¹ØÐ­Òé

http://www.javvin.com/protocol/rfc3530.pdf : NFS °æ±¾ 4 ЭÒ鹿·¶
http://www.javvin.com/protocol/rfc1813.pdf : NFS °æ±¾ 3 ЭÒ鹿·¶
http://www.javvin.com/protocol/rfc1094.pdf : NFS °æ±¾ 2 ЭÒ鹿·¶



ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!

ÈÈµã¹Ø×¢