当前位置: 技术问答>linux和unix
linux kernel 0.11 中文件系统电梯算法有问题?(高手请进)
来源: 互联网 发布时间:2015-09-21
本文导语: I_rw_blk.c 中line 78-84 for ( ; tmp->next ; tmp=tmp->next) if ((IN_ORDER(tmp,req) || !IN_ORDER(tmp,tmp->next)) && IN_ORDER(req,tmp->next)) break; req->next=tmp->next; tmp->next=req; 其中: #define IN_ORDER(s1,s2) ((s1)->cmdcmd || (s1)->cmd=...
I_rw_blk.c 中line 78-84
for ( ; tmp->next ; tmp=tmp->next)
if ((IN_ORDER(tmp,req) ||
!IN_ORDER(tmp,tmp->next)) &&
IN_ORDER(req,tmp->next))
break;
req->next=tmp->next;
tmp->next=req;
其中:
#define IN_ORDER(s1,s2)
((s1)->cmdcmd || (s1)->cmd==(s2)->cmd &&
((s1)->dev dev || ((s1)->dev == (s2)->dev &&
(s1)->sector sector)))
不知道有没有人看过这段代码,我发现其中似乎存在问题。
我把IN_ORDER(a,b)=1简单地称为a
for ( ; tmp->next ; tmp=tmp->next)
if ((IN_ORDER(tmp,req) ||
!IN_ORDER(tmp,tmp->next)) &&
IN_ORDER(req,tmp->next))
break;
req->next=tmp->next;
tmp->next=req;
其中:
#define IN_ORDER(s1,s2)
((s1)->cmdcmd || (s1)->cmd==(s2)->cmd &&
((s1)->dev dev || ((s1)->dev == (s2)->dev &&
(s1)->sector sector)))
不知道有没有人看过这段代码,我发现其中似乎存在问题。
我把IN_ORDER(a,b)=1简单地称为a