dz̸linuxÄÚºËÖеÄlist.h[2]
Á´±íµÄɾ³ý
83/*
84 * Delete a list entry by making the prev/next entries
85 * point to each other.
86 *
87 * This is only for internal list manipulation where we know
88 * the prev/next entries already!
89 */
90static inline void __list_del(struct list_head * prev, struct list_head * next)
91{
92 next->prev = prev;
93 prev->next = next;
94}
¸Ãº¯Êýͨ¹ýÉèÖÃprevºÍnextÖ¸ÕëÖ¸Ïò±Ë´Ë£¬ÊµÏÖÁËɾ³ý¶þÕßÖ®¼ä½ÚµãµÄ¹¦ÄÜ¡£µ«ÊÇÕâÀïÎÒÓиöÒÉ»ó£¬É¾³ýµÄÖ¸ÕëµÄÊÍ·ÅÔÚÄÄÀïʵÏÖ¡£
96/**
97 * list_del - deletes entry from list.
98 * @entry: the element to delete from the list.
99 * Note: list_empty() on entry does not return true after this, the entry is
100 * in an undefined state.
101 */
102#ifndef CONFIG_DEBUG_LIST
103static inline void list_del(struct list_head *entry)
104{
105 __list_del(entry->prev, entry->next);
106 entry->next = LIST_POISON1;
107 entry->prev = LIST_POISON2;
108}
109#else
110extern void list_del(struct list_head *entry);
111#endif
¸Ãº¯Êýͨ¹ýµ÷ÓÃÉÏÃæµÄÄÚÁªº¯ÊýʵÏÖ½ÚµãµÄɾ³ý£¬ÕâÀïµÄLIST_POISON1ºÍLIST_POISON2ÊÇÔÚlinux/poison.h¶¨ÒåµÄ¡£´Ë´¦ÈÔÈ»ÊÇÌõ¼þ±àÒë¡£
Á´±í½ÚµãµÄÖû»
113/**
114 * list_replace - replace old entry by new one
115 * @old : the element to be replaced
116 * @new : the new element to insert
117 *
118 * If @old was empty, it will be overwritten.
119 */
120static inline void list_replace(struct list_head *old,
121 struct list_head *new)
122{
123 new->next = old->next;
124 new->next->prev = new;
125 new->prev = old->prev;
126 new->prev->next = new;
127}
128
129static inline void list_replace_init(struct list_head *old,
130 struct list_head *new)
131{
132 list_replace(old, new);
133 INIT_LIST_HEAD(old);
134}
¾²Ì¬ÄÚÁªº¯Êýlist_replace½ÓÊÜÁ½¸ö²ÎÊý£ºoldºÍnew£¬²¢Í¨¹ýnewÌæ»»old¡£¶ølist_replace_initº¯ÊýÔòÊÇͨ¹ýµ÷ÓÃlist_replace½øÐÐÌæ»»£¬Ö®ºóµ÷ÓÃINIT_LIST_HEAD¶Ô±»Ìæ»»µÄold½øÐÐÁ´±í³õʼ»¯¡£
Á´±íµÄÒÆ¶¯
146/**
147 * list_move - delete from one list
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»¡¢NFS·þÎñÆ÷µÄ°²×°
¼ì²élinuxϵͳÖÐÊÇ·ñ°²×°ÁËnfs-utilsºÍportmapÁ½¸öÈí¼þ°ü£¨RHEL4ϵͳĬÈÏÒѾ°²×°ÁËÕâÁ½¸öÈí¼þ°ü£©
ÃüÁî#rpm –q nfs-utils portmap
¶þ¡¢²é¿´NFS·þÎñÆ÷ÊÇ·ñÆô¶¯
ÃüÁî#service nfs starus
......
1. modprobe ¼ÓÔØÄÚºËÄ£¿é
a) ÔÚ /etc/module.conf ÖвéÕÒ±ðÃû
b) ÔÚ lib/modules/version/module.dep ÖÐÅжÏÊÇ·ñÓÐÒÀÀµÄ£¿éÐèÒª±»Ìáǰ¼ÓÔØ£¨¸ÃÎļþ±»depmod-a½¨Á¢£©
2. 2.4ÄÚºËÖв»Ò»¶¨·ÇÓÃinit_moduleºÍcleanup_module×ö¿ªÊ¼ºÍ½áÊøµÄº¯Êý£¬µ«ÐèÒªÓÃmodule_initºÍ
module_exitÉêÃ÷¡£
......
SambaÊÇÒ»¸öÍøÂç·þÎñÆ÷£¬ÓÃÓÚLinuxºÍWindows¹²ÏíÎļþÖ®Óã»Samba ¼´¿ÉÒÔÓÃÓÚWindowsºÍLinuxÖ®¼äµÄ¹²ÏíÎļþ£¬Ò²Ò»ÑùÓÃÓÚLinuxºÍLinuxÖ®¼äµÄ¹²ÏíÎļþ£»²»¹ý¶ÔÓÚLinuxºÍLinuxÖ®¼ä¹²ÏíÎļþÓиüºÃµÄÍøÂçÎļþϵͳNFS£¨NFSÒ²ÊÇÐèÒª¼ÜÉè·þÎñÆ÷µÄ£©¡£Samba¿ÉÒÔ¶¨Î»ÎªÒ»Ì×¹¦Äܼ«ÎªÇ¿´óµÄÎļþ·þÎñÆ÷Èí¼þ£¬ËùÎ ......