Files
oldlinux-website/Book-Lite/code-list/html/P12-6.html
2024-03-17 11:58:05 +08:00

6697 lines
342 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name=Generator content="Microsoft Word 14 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Helvetica;
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:Courier;
panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
{font-family:"Tms Rmn";
panose-1:2 2 6 3 4 5 5 2 3 4;}
@font-face
{font-family:Helv;
panose-1:2 11 6 4 2 2 2 3 2 4;}
@font-face
{font-family:"New York";
panose-1:2 4 5 3 6 5 6 2 3 4;}
@font-face
{font-family:System;
panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
{font-family:Batang;
panose-1:2 3 6 0 0 1 1 1 1 1;}
@font-face
{font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"MS Gothic";
panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
{font-family:Dotum;
panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
{font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
{font-family:MingLiU;
panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
{font-family:Mincho;
panose-1:2 2 6 9 4 3 5 8 3 5;}
@font-face
{font-family:Gulim;
panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
{font-family:Century;
panose-1:2 4 6 4 5 5 5 2 3 4;}
@font-face
{font-family:"Angsana New";
panose-1:2 2 6 3 5 4 5 2 3 4;}
@font-face
{font-family:"Cordia New";
panose-1:2 11 3 4 2 2 2 2 2 4;}
@font-face
{font-family:Mangal;
panose-1:2 4 5 3 5 2 3 3 2 2;}
@font-face
{font-family:Latha;
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:Sylfaen;
panose-1:1 10 5 2 5 3 6 3 3 3;}
@font-face
{font-family:Vrinda;
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:Raavi;
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:Shruti;
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:Sendnya;
panose-1:0 0 4 0 0 0 0 0 0 0;}
@font-face
{font-family:Gautami;
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:Tunga;
panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
{font-family:"Estrangelo Edessa";
panose-1:3 8 6 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:"Arial Unicode MS";
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:Cambria;
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>;}
@font-face
{font-family:"\@<40><><EFBFBD><EFBFBD>";
panose-1:2 1 6 9 6 1 1 1 1 1;}
@font-face
{font-family:"\@<40><><EFBFBD><EFBFBD>";
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"\@<40><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>μ<EFBFBD><CEBC><EFBFBD>";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
h1
{mso-style-link:"<22><><EFBFBD><EFBFBD> 1 Char";
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:7.2pt;
text-align:center;
text-indent:-7.2pt;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
h2
{mso-style-link:"<22><><EFBFBD><EFBFBD> 2 Char";
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:0cm;
text-align:justify;
text-justify:inter-ideograph;
text-indent:0cm;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
h3
{mso-style-link:"<22><><EFBFBD><EFBFBD> 3 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:0cm;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
h4
{mso-style-link:"<22><><EFBFBD><EFBFBD> 4 Char";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:28.8pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-28.8pt;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
h5
{mso-style-link:"<22><><EFBFBD><EFBFBD> 5 Char";
margin-top:14.0pt;
margin-right:0cm;
margin-bottom:14.5pt;
margin-left:36.0pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-36.0pt;
line-height:156%;
page-break-after:avoid;
font-size:14.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
h6
{mso-style-link:"<22><><EFBFBD><EFBFBD> 6 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:43.2pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-43.2pt;
line-height:133%;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
{mso-style-link:"<22><><EFBFBD><EFBFBD> 7 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:50.4pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-50.4pt;
line-height:133%;
page-break-after:avoid;
font-size:12.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
{mso-style-link:"<22><><EFBFBD><EFBFBD> 8 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:57.6pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-72.0pt;
line-height:133%;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
{mso-style-link:"<22><><EFBFBD><EFBFBD> 9 Char";
margin-top:12.0pt;
margin-right:0cm;
margin-bottom:3.2pt;
margin-left:64.8pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-79.2pt;
line-height:133%;
page-break-after:avoid;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.MsoIndex1, li.MsoIndex1, div.MsoIndex1
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:10.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex2, li.MsoIndex2, div.MsoIndex2
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex3, li.MsoIndex3, div.MsoIndex3
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:31.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex4, li.MsoIndex4, div.MsoIndex4
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex5, li.MsoIndex5, div.MsoIndex5
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:52.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex6, li.MsoIndex6, div.MsoIndex6
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:63.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex7, li.MsoIndex7, div.MsoIndex7
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:73.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex8, li.MsoIndex8, div.MsoIndex8
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:84.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndex9, li.MsoIndex9, div.MsoIndex9
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:94.5pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-10.5pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc1, li.MsoToc1, div.MsoToc1
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc3, li.MsoToc3, div.MsoToc3
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc4, li.MsoToc4, div.MsoToc4
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:31.5pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc5, li.MsoToc5, div.MsoToc5
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc6, li.MsoToc6, div.MsoToc6
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:52.5pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc7, li.MsoToc7, div.MsoToc7
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:63.0pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc8, li.MsoToc8, div.MsoToc8
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:73.5pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoToc9, li.MsoToc9, div.MsoToc9
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:84.0pt;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
{mso-style-link:"<22><>ע<EFBFBD>ı<EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
{mso-style-link:"<22><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
{mso-style-link:"ҳü Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
layout-grid-mode:char;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoFooter, li.MsoFooter, div.MsoFooter
{mso-style-link:<><D2B3> Char";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoIndexHeading, li.MsoIndexHeading, div.MsoIndexHeading
{mso-style-name:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ\,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ1\,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ2";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoCaption, li.MsoCaption, div.MsoCaption
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.MsoTof, li.MsoTof, div.MsoTof
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.MsoFootnoteReference
{vertical-align:super;}
p.MsoList, li.MsoList, div.MsoList
{margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoList2, li.MsoList2, div.MsoList2
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoList4, li.MsoList4, div.MsoList4
{margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoDate, li.MsoDate, div.MsoDate
{mso-style-link:"<22><><EFBFBD><EFBFBD> Char";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:5.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
a:link, span.MsoHyperlink
{mso-style-name:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p
{mso-style-name:"<22><>ͨ\(<28><>վ\)\,<2C><>ͨ \(Web\)\,<2C><>ͨ \(Web\)1\,<2C><>ͨ \(Web\)2\,<2C><>ͨ \(Web\)3";
margin-right:0cm;
margin-left:0cm;
font-size:12.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
pre
{mso-style-name:"HTML Ԥ<><D4A4><EFBFBD>ʽ\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>1\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>2\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>3";
mso-style-link:"HTML Ԥ<><D4A4><EFBFBD>ʽ Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD> Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>1 Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>2 Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>3 Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
tt
{font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.MsoCommentSubject, li.MsoCommentSubject, div.MsoCommentSubject
{mso-style-link:"<22><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-link:"<22><>ע<EFBFBD><D7A2><EFBFBD>ı<EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.1, li.1, div.1
{mso-style-name:<EFBFBD><EFBFBD>ʽ1;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a, li.a, div.a
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char
{mso-style-name:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a0, li.a0, div.a0
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>;
mso-style-link:"ͼ˵<CDBC><CBB5> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char0
{mso-style-name:"ͼ˵<CDBC><CBB5> Char";
mso-style-link:ͼ˵<EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.0, li.0, div.0
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.10, li.10, div.10
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.11, li.11, div.11
{mso-style-name:<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>1;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.a1, li.a1, div.a1
{mso-style-name:<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3CharChar, li.3CharChar, div.3CharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharCharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.post, li.post, div.post
{mso-style-name:<EFBFBD>ʼ<EFBFBD>post;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3, li.3, div.3
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharChar1CharCharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char1 Char Char Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharChar1CharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char1 Char Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char, li.5Char, div.5Char
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><35> Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><35> Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.5CharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><35> Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><35> Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5CharChar0, li.5CharChar0, div.5CharChar0
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.5CharCharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char0, li.5Char0, div.5Char0
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5, li.5, div.5
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
layout-grid-mode:char;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.2, li.2, div.2
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.20, li.20, div.20
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.21, li.21, div.21
{mso-style-name:<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3CharCharCharCharChar, li.3CharCharCharCharChar, div.3CharCharCharCharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharCharCharCharCharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char Char Char Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char Char Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a2, li.a2, div.a2
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.110, li.110, div.110
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> 1 + <20><><EFBFBD><EFBFBD>1";
margin-right:0cm;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
span.1Char
{mso-style-name:"<22><><EFBFBD><EFBFBD> 1 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 1";
font-weight:bold;}
p.22, li.22, div.22
{mso-style-name:"<22><>ʽ <20>б<EFBFBD> 2 + <20><><EFBFBD><EFBFBD>";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.23, li.23, div.23
{mso-style-name:<EFBFBD>б<EFBFBD>2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.50, li.50, div.50
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.111, li.111, div.111
{mso-style-name:<EFBFBD><EFBFBD>ʽ11;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.12, li.12, div.12
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.13, li.13, div.13
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.01, li.01, div.01
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>01;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.112, li.112, div.112
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.113, li.113, div.113
{mso-style-name:<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>11;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.14, li.14, div.14
{mso-style-name:<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3Char1, li.3Char1, div.3Char1
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.post1, li.post1, div.post1
{mso-style-name:<EFBFBD>ʼ<EFBFBD>post1;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.31, li.31, div.31
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>31;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char1, li.5Char1, div.5Char1
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><35> Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5CharChar1, li.5CharChar1, div.5CharChar1
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char10, li.5Char10, div.5Char10
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char1";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.51, li.51, div.51
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.120, li.120, div.120
{mso-style-name:<EFBFBD><EFBFBD>ʽ12;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.02, li.02, div.02
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>02;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.121, li.121, div.121
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>12;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.122, li.122, div.122
{mso-style-name:<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>12;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.3Char2, li.3Char2, div.3Char2
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.post2, li.post2, div.post2
{mso-style-name:<EFBFBD>ʼ<EFBFBD>post2;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.32, li.32, div.32
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char2, li.5Char2, div.5Char2
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.52, li.52, div.52
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD><EFBFBD>2;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3CharCharCharChar, li.3CharCharCharChar, div.3CharCharCharChar
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char Char Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.130, li.130, div.130
{mso-style-name:<EFBFBD><EFBFBD>ʽ13;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.30, li.30, div.30
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.03, li.03, div.03
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>03;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:36.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.131, li.131, div.131
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>13;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:18.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.132, li.132, div.132
{mso-style-name:<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>13;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.33, li.33, div.33
{mso-style-name:<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3Char3, li.3Char3, div.3Char3
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char3";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.post3, li.post3, div.post3
{mso-style-name:<EFBFBD>ʼ<EFBFBD>post3;
margin:0cm;
margin-bottom:.0001pt;
text-align:right;
line-height:11.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.330, li.330, div.330
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>33;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char20, li.5Char20, div.5Char20
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD><35> Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5CharChar2, li.5CharChar2, div.5CharChar2
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char Char2";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.5Char3, li.5Char3, div.5Char3
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<D0A1><35> Char3";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.53, li.53, div.53
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.3Char, li.3Char, div.3Char
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char5";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:9.0pt;
font-size:8.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharChar5
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char5";
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.54, li.54, div.54
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
line-height:9.0pt;
text-autospace:ideograph-numeric;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.24, li.24, div.24
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.15, li.15, div.15
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> 1 + <20><><EFBFBD><EFBFBD>";
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.25, li.25, div.25
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> 2 + <20>о<EFBFBD>\: <20><><EFBFBD><EFBFBD><EFBFBD>о<EFBFBD>";
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:28.9pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-28.9pt;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
span.2Char
{mso-style-name:"<22><><EFBFBD><EFBFBD> 2 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 2";
font-family:"Arial","sans-serif";
font-weight:bold;}
p.34, li.34, div.34
{mso-style-name:<EFBFBD>б<EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.35, li.35, div.35
{mso-style-name:<EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.4, li.4, div.4
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>4;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.40, li.40, div.40
{mso-style-name:<EFBFBD>б<EFBFBD>4;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.0pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.41, li.41, div.41
{mso-style-name:<EFBFBD><EFBFBD>4;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.55, li.55, div.55
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.56, li.56, div.56
{mso-style-name:<EFBFBD>б<EFBFBD>5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.57, li.57, div.57
{mso-style-name:<EFBFBD><EFBFBD>5;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.6, li.6, div.6
{mso-style-name:<EFBFBD>б<EFBFBD>6;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.60, li.60, div.60
{mso-style-name:<EFBFBD><EFBFBD>6;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.61, li.61, div.61
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>6;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.7, li.7, div.7
{mso-style-name:<EFBFBD>б<EFBFBD>7;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.70, li.70, div.70
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>7;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.71, li.71, div.71
{mso-style-name:<EFBFBD><EFBFBD>7;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.8, li.8, div.8
{mso-style-name:<EFBFBD>б<EFBFBD>8;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.9, li.9, div.9
{mso-style-name:<EFBFBD>б<EFBFBD>9;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.90, li.90, div.90
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>9;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.100, li.100, div.100
{mso-style-name:<EFBFBD>б<EFBFBD>10;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.101, li.101, div.101
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>10;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.114, li.114, div.114
{mso-style-name:<EFBFBD>б<EFBFBD>11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.115, li.115, div.115
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.116, li.116, div.116
{mso-style-name:<EFBFBD><EFBFBD>11;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.123, li.123, div.123
{mso-style-name:<EFBFBD>б<EFBFBD>12;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.124, li.124, div.124
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>12;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.133, li.133, div.133
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>13;
mso-style-link:"ͼ˵<CDBC><CBB5>13 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.13Char
{mso-style-name:"ͼ˵<CDBC><CBB5>13 Char";
mso-style-link:ͼ˵<EFBFBD><EFBFBD>13;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.134, li.134, div.134
{mso-style-name:<EFBFBD>б<EFBFBD>13;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.26, li.26, div.26
{mso-style-name:<EFBFBD><EFBFBD>¼2;
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:0cm;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.36, li.36, div.36
{mso-style-name:<EFBFBD><EFBFBD>¼3;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:14.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
span.3Char0
{mso-style-name:"<22><><EFBFBD><EFBFBD> 3 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 3";
font-family:"Arial","sans-serif";
font-weight:bold;}
p.16, li.16, div.16
{mso-style-name:<EFBFBD><EFBFBD>¼1;
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.17, li.17, div.17
{mso-style-name:<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.42, li.42, div.42
{mso-style-name:<EFBFBD><EFBFBD>¼4;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
span.4Char
{mso-style-name:"<22><><EFBFBD><EFBFBD> 4 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 4";
font-family:"Arial","sans-serif";
font-weight:bold;}
p.a3, li.a3, div.a3
{mso-style-name:<EFBFBD><EFBFBD>¼ͼ˵<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.27, li.27, div.27
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2;
margin-top:13.0pt;
margin-right:0cm;
margin-bottom:13.0pt;
margin-left:28.8pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:-28.8pt;
page-break-after:avoid;
font-size:16.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.a4, li.a4, div.a4
{mso-style-name:<EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.18, li.18, div.18
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1;
margin-top:7.8pt;
margin-right:0cm;
margin-bottom:7.8pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.19, li.19, div.19
{mso-style-name:<EFBFBD>б<EFBFBD>1;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.1a, li.1a, div.1a
{mso-style-name:<EFBFBD><EFBFBD>1;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.37, li.37, div.37
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.62, li.62, div.62
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
layout-grid-mode:char;
font-size:7.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a5, li.a5, div.a5
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char1
{mso-style-name:"<22><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.43, li.43, div.43
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> 4 +";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:12.0pt;
font-family:"Arial","sans-serif";
font-weight:bold;}
p.140, li.140, div.140
{mso-style-name:<EFBFBD><EFBFBD>14;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.141, li.141, div.141
{mso-style-name:ͼ˵<EFBFBD><EFBFBD>14;
mso-style-link:"ͼ˵<CDBC><CBB5>14 Char";
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:21.25pt;
margin-bottom:.0001pt;
text-align:center;
text-indent:-21.25pt;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.14Char
{mso-style-name:"ͼ˵<CDBC><CBB5>14 Char";
mso-style-link:ͼ˵<EFBFBD><EFBFBD>14;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a6, li.a6, div.a6
{mso-style-name:<EFBFBD>ļ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a7, li.a7, div.a7
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> +";
mso-style-link:"<22><>ʽ <20><><EFBFBD><EFBFBD> + Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char2
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> + Char";
mso-style-link:"<22><>ʽ <20><><EFBFBD><EFBFBD> +";
font-family:"Times New Roman","serif";}
p.a8, li.a8, div.a8
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.a9, li.a9, div.a9
{mso-style-name:<EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>ע;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.aa, li.aa, div.aa
{mso-style-name:ͼ<EFBFBD><EFBFBD>ע;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.ab, li.ab, div.ab
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.ac, li.ac, div.ac
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin-top:0cm;
margin-right:21.0pt;
margin-bottom:0cm;
margin-left:21.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.125, li.125, div.125
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD> 1 + <20><><EFBFBD><EFBFBD>2";
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
text-align:center;
page-break-after:avoid;
font-size:22.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.ad, li.ad, div.ad
{mso-style-name:"<22><>ʽ <20><>ע + <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.1b, li.1b, div.1b
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1;
margin-top:17.0pt;
margin-right:0cm;
margin-bottom:16.5pt;
margin-left:0cm;
line-height:240%;
page-break-after:avoid;
font-size:16.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
p.38, li.38, div.38
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:12.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>;}
p.63, li.63, div.63
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:7.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.64, li.64, div.64
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
line-height:10.0pt;
layout-grid-mode:char;
font-size:7.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.65, li.65, div.65
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>;
mso-style-link:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><36> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
line-height:10.0pt;
layout-grid-mode:char;
font-size:7.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.6Char
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><36> Char";
mso-style-link:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.ae, li.ae, div.ae
{mso-style-name:ͼ<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.28, li.28, div.28
{mso-style-name:ͼ<EFBFBD><EFBFBD>2;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af, li.af, div.af
{mso-style-name:ϰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin-top:6.0pt;
margin-right:0cm;
margin-bottom:0cm;
margin-left:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
page-break-after:avoid;
font-size:14.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.1c, li.1c, div.1c
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>1;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:16.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af0, li.af0, div.af0
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.af1, li.af1, div.af1
{mso-style-name:"<22><>ʽ <20><>ע + <20><><EFBFBD><EFBFBD>";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.ListTitle, li.ListTitle, div.ListTitle
{mso-style-name:ListTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.FigureTitle, li.FigureTitle, div.FigureTitle
{mso-style-name:FigureTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.TableTitle, li.TableTitle, div.TableTitle
{mso-style-name:TableTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.ProgramTitle, li.ProgramTitle, div.ProgramTitle
{mso-style-name:ProgramTitle;
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
font-size:10.5pt;
font-family:"Arial","sans-serif";}
p.RightText, li.RightText, div.RightText
{mso-style-name:RightText;
margin-top:0cm;
margin-right:21.0pt;
margin-bottom:0cm;
margin-left:42.0pt;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af2, li.af2, div.af2
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af3, li.af3, div.af3
{mso-style-name:<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22>ؼ<EFBFBD><D8BC><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char3
{mso-style-name:"<22>ؼ<EFBFBD><D8BC><EFBFBD> Char";
mso-style-link:<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af4, li.af4, div.af4
{mso-style-name:<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22>ļ<EFBFBD><C4BC><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char4
{mso-style-name:"<22>ļ<EFBFBD><C4BC><EFBFBD> Char";
mso-style-link:<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af5, li.af5, div.af5
{mso-style-name:ѡ<EFBFBD><EFBFBD>;
mso-style-link:"ѡ<><D1A1> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char5
{mso-style-name:"ѡ<><D1A1> Char";
mso-style-link:ѡ<EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af6, li.af6, div.af6
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char6
{mso-style-name:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af7, li.af7, div.af7
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char7
{mso-style-name:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.af8, li.af8, div.af8
{mso-style-name:<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char8
{mso-style-name:"<22>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:"Times New Roman","serif";}
p.af9, li.af9, div.af9
{mso-style-name:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
mso-style-link:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Char9
{mso-style-name:"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.58, li.58, div.58
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.59, li.59, div.59
{mso-style-name:ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С5<EFBFBD>ſ<EFBFBD><EFBFBD><EFBFBD>;
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
p.926, li.926, div.926
{mso-style-name:"<22><>ʽ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD>\: 9\.26 <20><><EFBFBD><EFBFBD>";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:10.0pt;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.5Char4
{mso-style-name:"<22><><EFBFBD><EFBFBD> 5 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 5";
font-weight:bold;}
span.6Char0
{mso-style-name:"<22><><EFBFBD><EFBFBD> 6 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 6";
font-family:"Arial","sans-serif";
font-weight:bold;}
span.7Char
{mso-style-name:"<22><><EFBFBD><EFBFBD> 7 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 7";
font-weight:bold;}
span.8Char
{mso-style-name:"<22><><EFBFBD><EFBFBD> 8 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 8";
font-family:"Arial","sans-serif";}
span.9Char
{mso-style-name:"<22><><EFBFBD><EFBFBD> 9 Char";
mso-style-link:"<22><><EFBFBD><EFBFBD> 9";
font-family:"Arial","sans-serif";}
span.Chara
{mso-style-name:"<22><>ע<EFBFBD>ı<EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD>ע<EFBFBD>ı<EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Charb
{mso-style-name:"<22><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Charc
{mso-style-name:"ҳü Char";
mso-style-link:ҳü;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Chard
{mso-style-name:<><D2B3> Char";
mso-style-link:ҳ<EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Chare
{mso-style-name:"<22><><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.HTMLChar
{mso-style-name:"HTML Ԥ<><D4A4><EFBFBD>ʽ Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD> Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>1 Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>2 Char\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>3 Char";
mso-style-link:"HTML Ԥ<><D4A4><EFBFBD>ʽ\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>1\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>2\,HTML Ԥ<>ȸ<EFBFBD>ʽ<EFBFBD><CABD>3";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.Charf
{mso-style-name:"<22><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
font-weight:bold;}
span.Charf0
{mso-style-name:"<22><>ע<EFBFBD><D7A2><EFBFBD>ı<EFBFBD> Char";
mso-style-link:<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>;
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharChar1
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char1";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.3CharChar3
{mso-style-name:<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 Char Char3";
font-family:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;}
span.msoIns
{mso-style-name:"";
text-decoration:underline;
color:teal;}
span.msoDel
{mso-style-name:"";
text-decoration:line-through;
color:red;}
.MsoChpDefault
{font-size:10.0pt;}
/* Page Definitions */
@page WordSection1
{size:595.3pt 841.9pt;
margin:72.0pt 54.0pt 72.0pt 54.0pt;
layout-grid:15.6pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
</head>
<body lang=ZH-CN link=blue vlink=purple style='text-justify-trim:punctuation'>
<div class=WordSection1 style='layout-grid:15.6pt'>
<p class=ab><a name="_Toc53320648"><span style='font-family:<3A><><EFBFBD><EFBFBD>'><EFBFBD><EFBFBD><EFBFBD><EFBFBD></span><span
lang=EN-US>12-6 linux/fs/namei.c</span></a></p>
<div class=a align=center style='text-align:center'><span lang=EN-US>
<hr size=4 width="100%" align=center>
</span></div>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>1</span></u> <b><i>/*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>2</span></u> <b><i>&nbsp;*&nbsp;
linux/fs/namei.c</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>3</span></u> <b><i>&nbsp;*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>4</span></u> <b><i>&nbsp;*&nbsp;
(C) 1991&nbsp; Linus Torvalds</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>5</span></u> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>6</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>7</span></u> <b><i>/*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>8</span></u> <b><i>&nbsp;*
Some corrections by tytso.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp; <u><span style='color:blue'>9</span></u> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>10</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>11</span></u>
#include &lt;linux/sched.h&gt;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>task_struct</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵȡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>12</span></u>
#include &lt;linux/kernel.h&gt; // </span><EFBFBD>ں<EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD>ں˳<EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD>ζ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>13</span></u>
#include &lt;asm/segment.h&gt;&nbsp; // </span><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>йضμĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>14</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>15</span></u>
#include &lt;string.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD>й<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>16</span></u>
#include &lt;fcntl.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵĶ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>17</span></u>
#include &lt;errno.h&gt;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>и<EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>18</span></u>
#include &lt;const.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i_mode</span><EFBFBD>ֶεĸ<EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>19</span></u>
#include &lt;sys/stat.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ļ<EFBFBD>״̬ͷ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ״̬<EFBFBD><span
lang=EN-US>stat{}</span><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>20</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҷ<EFBFBD>Ӧ<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>21</span></u>
static struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>_namei</span></u>(const char * filename, struct <u><span
style='color:blue'>m_inode</span></u> * base,</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>22</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
int follow_links);</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>23</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>÷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>a[b]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD>Ƶ<EFBFBD>ַ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD>ֵ <span
lang=EN-US>*(a + b)</span><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD>֪<EFBFBD><EFBFBD><span lang=EN-US>a[b]</span>Ҳ<EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>ʾ<EFBFBD><EFBFBD><span
lang=EN-US>b[a]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ϊ <span lang=EN-US>&quot;LoveYou&quot;[2]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>2[&quot;LoveYou&quot;]</span><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ͬ<EFBFBD><EFBFBD><span lang=EN-US>*(&quot;LoveYou&quot;
+ 2)</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>&quot;LoveYou&quot;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>þ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>&quot;LoveYou&quot;[2]</span><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵΪ<span lang=EN-US>2</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><span lang=EN-US>&quot;v&quot;</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>ASCII</span><EFBFBD><EFBFBD>ֵ<span lang=EN-US>0x76</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð˽<EFBFBD><EFBFBD>Ʊ<EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0166</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>C</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>ַ<EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>ASCII</span><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>ASCII</span><EFBFBD><EFBFBD>ֵǰ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> <span lang=EN-US>&quot;v&quot;</span><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>ʾ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>&quot;\x76&quot;</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>&quot;\166&quot;</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>ASCII</span><EFBFBD><EFBFBD>ֵΪ<span
lang=EN-US>0x00--0x1f</span><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>ASCII</span><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><span
lang=EN-US>x</span><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD><span lang=EN-US>include/fcntl.h</span><EFBFBD>е<EFBFBD><span
lang=EN-US>7</span><EFBFBD>п<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD>򿪣<EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>־<span
lang=EN-US>x</span><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>4</span><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>ʵ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ʱ<EFBFBD>ʾ<span lang=EN-US>4</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>&quot;\004\002\006\377&quot;</span><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD>Ȩ<EFBFBD><EFBFBD>Ϊ<span lang=EN-US>:
r</span><EFBFBD><EFBFBD><span lang=EN-US>w</span><EFBFBD><EFBFBD><span lang=EN-US>rw</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>wxrwxrwx</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҷֱ<EFBFBD><EFBFBD>Ӧ<span
lang=EN-US>x</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<span lang=EN-US>0--3</span><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E7A3AC><EFBFBD><span lang=EN-US>x</span>Ϊ<span
lang=EN-US>2</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú귵<EFBFBD>ذ˽<EFBFBD><EFBFBD><EFBFBD>ֵ<span lang=EN-US>006</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʾ<EFBFBD>ɶ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><span
lang=EN-US>rw</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>O_ACCMODE = 00003</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<span
lang=EN-US>x</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>24</span></u>
#define <u><span style='color:blue'>ACC_MODE</span></u>(<u><span
style='color:blue'>x</span></u>) (<i>&quot;\004\002\006\377&quot;</i>[(<u><span
style='color:blue'>x</span></u>)&amp;<u><span style='color:blue'>O_ACCMODE</span></u>])</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>25</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>26</span></u> <b><i>/*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>27</span></u> <b><i>&nbsp;*
comment out this line if you want names &gt; NAME_LEN chars to be</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>28</span></u> <b><i>&nbsp;*
truncated. Else they will be disallowed.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>29</span></u> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US> &gt; NAME_LEN</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>30</span></u> <b><i>/*
#define NO_TRUNCATE */</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>31</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>32</span></u>
#define <u><span style='color:blue'>MAY_EXEC</span></u> 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><span lang=EN-US>(</span><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>)</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>33</span></u>
#define <u><span style='color:blue'>MAY_WRITE</span></u> 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>34</span></u>
#define <u><span style='color:blue'>MAY_READ</span></u> 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD>ɶ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>35</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>36</span></u> <b><i>/*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>37</span></u> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
permission()</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>38</span></u> <b><i>&nbsp;*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>39</span></u> <b><i>&nbsp;*
is used to check for read/write/execute permissions on a file.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>40</span></u> <b><i>&nbsp;*
I don't know if we should look at just the euid or both euid and</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>41</span></u> <b><i>&nbsp;*
uid, but that should be easily changed.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>42</span></u> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; permission()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ķ<EFBFBD><span
lang=EN-US>/</span>д<span lang=EN-US>/</span>ִ<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޡ<EFBFBD><EFBFBD>Ҳ<EFBFBD>֪<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>euid</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>euid</span><EFBFBD><EFBFBD><span lang=EN-US>uid</span><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ġ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>inode
- </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><span lang=EN-US>mask - </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>43</span></u>
static int <u><span style='color:blue'>permission</span></u>(struct <u><span
style='color:blue'>m_inode</span></u> * inode,int mask)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>44</span></u> {</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>45</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
int mode = inode-&gt;i_mode;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//
</span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>46</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>47</span></u> <b><i>/*
special case: not even root can read/write a deleted file */</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /* </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>root</span><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD><span lang=EN-US>/</span>дһ<EFBFBD><EFBFBD><EFBFBD>ѱ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><span lang=EN-US>
*/</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ѱ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ء<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>û<EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD><span lang=EN-US>euid</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD><span lang=EN-US>egid</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>48</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (inode-&gt;i_dev &amp;&amp; !inode-&gt;i_nlinks)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>49</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>50</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
else if (<u><span style='color:blue'>current</span></u>-&gt;euid==inode-&gt;i_uid)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>51</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mode &gt;&gt;= 6;</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>52</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
else if (<u><span style='color:blue'>in_group_p</span></u>(inode-&gt;i_gid))</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>53</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mode &gt;&gt;= 3;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ĵķ<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>54</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (((mode &amp; mask &amp; 0007) == mask) || <u><span style='color:blue'>suser</span></u>())</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>55</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 1;</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>56</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>57</span></u> }</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>58</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>59</span></u> <b><i>/*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>60</span></u> <b><i>&nbsp;*
ok, we cannot use strncmp, as the name is not in our data space.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>61</span></u> <b><i>&nbsp;*
Thus we'll have to use match. No big problem. Match also makes</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>62</span></u> <b><i>&nbsp;*
some sanity tests.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>63</span></u> <b><i>&nbsp;*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>64</span></u> <b><i>&nbsp;*
NOTE! unlike strncmp, match returns 1 for success, 0 for failure.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>65</span></u> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * ok</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><span
lang=EN-US>strncmp</span><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȽϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿռ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں˿ռ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ʹ<EFBFBD><CAB9>
<span lang=EN-US>match()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>match()</span>ͬ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD>ԡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>ע<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>strncmp</span><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>match()</span><EFBFBD>ɹ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȽϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>len
- </span><EFBFBD>Ƚϵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><span lang=EN-US>name - </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><span lang=EN-US>de - </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>68</span><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>same</span><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>eax</span><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>ڸ<EFBFBD>Ч</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>66</span></u>
static int <u><span style='color:blue'>match</span></u>(int len,const char *
name,struct <u><span style='color:blue'>dir_entry</span></u> * de)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>67</span></u> {</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>68</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
register int same __asm__(<i>&quot;ax&quot;</i>);</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>69</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ƚϵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚϵij<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>len</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD> <span lang=EN-US>'.'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ôһ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ƚϵij<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>len</span>С<EFBFBD><EFBFBD><span lang=EN-US>NAME_LEN</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>len</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>75</span><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ񳬹<EFBFBD>
<span lang=EN-US>len </span><EFBFBD><EFBFBD><EFBFBD>жϷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><EFBFBD> <span lang=EN-US>name[len] </span><EFBFBD>Ƿ<EFBFBD>Ϊ<span
lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>len</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>name[len]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>len</span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>name</span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><span
lang=EN-US>name[len]</span><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>70</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!de || !de-&gt;inode || len &gt; <u><span style='color:blue'>NAME_LEN</span></u>)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>71</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>72</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><i>/* &quot;&quot; means &quot;.&quot; ---&gt; so paths like
&quot;/usr/lib//libc.a&quot; work */</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/* &quot;&quot; </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span lang=EN-US>&quot;.&quot; </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span
lang=EN-US>---&gt; </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span lang=EN-US>&quot;/usr/lib//libc.a&quot;
</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> */</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>73</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!len &amp;&amp; (de-&gt;name[0]==<i>'.'</i>) &amp;&amp; (de-&gt;name[1]==<i>'\0'</i>))</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>74</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 1;</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>75</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (len &lt; <u><span style='color:blue'>NAME_LEN</span></u> &amp;&amp;
de-&gt;name[len])</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>76</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Ƕ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD>ٱȽϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿռ<span
lang=EN-US>fs</span><EFBFBD>Σ<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ıȽ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>%0
- eax</span><EFBFBD><EFBFBD><EFBFBD>ȽϽ<EFBFBD><EFBFBD><span lang=EN-US>same</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>%1 - eax</span><EFBFBD><EFBFBD><span
lang=EN-US>eax</span><EFBFBD><EFBFBD>ֵ<span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>%2 - esi</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // %3 - edi</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>%4 - ecx(</span><EFBFBD>Ƚϵ<EFBFBD><EFBFBD>ֽڳ<EFBFBD><EFBFBD><EFBFBD>ֵ<span lang=EN-US>len)</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>77</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
__asm__(<i>&quot;cld\n\t&quot;</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>78</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<i>&quot;fs ; repe ; cmpsb\n\t&quot;</i>&nbsp;&nbsp; // </span><EFBFBD>û<EFBFBD><EFBFBD>ռ<EFBFBD>ִ<EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><span
lang=EN-US>[esi++]</span><EFBFBD><EFBFBD><span lang=EN-US>[edi++]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>79</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<i>&quot;setz %%al&quot;</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;// </span><EFBFBD><EFBFBD><EFBFBD>ȽϽ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>zf=0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>al=1</span><EFBFBD><EFBFBD><span
lang=EN-US>same=eax</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>80</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
:<i>&quot;=a&quot;</i> (same)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>81</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
:<i>&quot;&quot;</i> (0),<i>&quot;S&quot;</i> ((long) name),<i>&quot;D&quot;</i>
((long) de-&gt;name),<i>&quot;c&quot;</i> (len)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>82</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
:<i>&quot;cx&quot;</i>,<i>&quot;di&quot;</i>,<i>&quot;si&quot;</i>);</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>83</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return same;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD>رȽϽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>84</span></u> }</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>85</span></u> </span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>86</span></u> <b><i>/*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>87</span></u> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
find_entry()</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>88</span></u> <b><i>&nbsp;*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>89</span></u> <b><i>&nbsp;*
finds an entry in the specified directory with the wanted name. It</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>90</span></u> <b><i>&nbsp;*
returns the cache buffer in which the entry was found, and the entry</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>91</span></u> <b><i>&nbsp;*
itself (as a parameter - res_dir). It does NOT read the inode of the</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>92</span></u> <b><i>&nbsp;*
entry - you'll have to do that yourself if you want to.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>93</span></u> <b><i>&nbsp;*</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>94</span></u> <b><i>&nbsp;*
This also takes care of the few special cases due to '..'-traversal</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>95</span></u> <b><i>&nbsp;*
over a pseudo-root and a mount point.</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>96</span></u> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;
find_entry()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ѱ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US> - res_dir</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡĿ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US> - </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>'..'</span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>Ҳ<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> - </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>һ<EFBFBD><EFBFBD>α<EFBFBD><EFBFBD>Ŀ¼<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>*dir
- </span>ָ<EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ָ<EFBFBD><span lang=EN-US>name - </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>namelen - </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>'..'</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>linux/sched.c</span><EFBFBD><EFBFBD><span
lang=EN-US>151</span><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ע<EFBFBD>͡<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>*res_dir</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD>롣ʧ<EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>97</span></u>
static struct <u><span style='color:blue'>buffer_head</span></u> * <u><span
style='color:blue'>find_entry</span></u>(struct <u><span style='color:blue'>m_inode</span></u>
** dir,</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>98</span></u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
const char * name, int namelen, struct <u><span style='color:blue'>dir_entry</span></u>
** res_dir)</span></p>
<p class=a><span lang=EN-US>&nbsp;<u><span style='color:blue'>99</span></u> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>100</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int entries;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>101</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int block,i;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>102</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>103</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>104</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>super_block</span></u> * sb;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>105</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>30</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NO_TRUNCATE</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD><span lang=EN-US>NAME_LEN</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NO_TRUNCATE</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD><span lang=EN-US>NAME_LEN</span>ʱ<EFBFBD>ض<EFBFBD>֮<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>106</span></u><span
lang=EN-US> #ifdef NO_TRUNCATE</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>107</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (namelen &gt; <u><span
style='color:blue'>NAME_LEN</span></u>)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>108</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>109</span></u><span
lang=EN-US> #else</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>110</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (namelen &gt; <u><span
style='color:blue'>NAME_LEN</span></u>)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>111</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
namelen = <u><span style='color:blue'>NAME_LEN</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>112</span></u><span
lang=EN-US> #endif</span></p>
<p class=a><span lang=EN-US>&nbsp;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD>㱾Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>entries</span><EFBFBD><EFBFBD> Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD> <span lang=EN-US>i_size</span><EFBFBD>ֶ<EFBFBD><EFBFBD>к<EFBFBD><EFBFBD>б<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ȣ<EFBFBD><span
lang=EN-US>16</span><EFBFBD>ֽڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵõ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>ÿշ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>113</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; entries =
(*dir)-&gt;i_size / (sizeof (struct <u><span style='color:blue'>dir_entry</span></u>));</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>114</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *res_dir = <u><span
style='color:blue'>NULL</span></u>;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>'..'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܷ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ʸ<EFBFBD>Ŀ¼<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>丸Ŀ¼<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸý<EFBFBD><EFBFBD>̱<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD>ĸ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ<span
lang=EN-US>'.'</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>ROOT_INO</span><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD>ţ<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ȷʵ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD>ĸ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷŻ<EFBFBD>ԭ<span lang=EN-US>i</span><EFBFBD>ڵ㣬Ȼ<EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>*dir</span>ָ<EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD><EFBFBD>Ҹ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵؽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>͵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>:)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>115</span></u><span
lang=EN-US> <b><i>/* check for '..', as we might have to do some
&quot;magic&quot; for it */</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /* </span><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD> <span
lang=EN-US>'..'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> */</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>116</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (namelen==2
&amp;&amp; <u><span style='color:blue'>get_fs_byte</span></u>(name)==<i>'.'</i>
&amp;&amp; <u><span style='color:blue'>get_fs_byte</span></u>(name+1)==<i>'.'</i>)
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>117</span></u><span
lang=EN-US> <b><i>/* '..' in a pseudo-root results in a faked '.' (just change
namelen) */</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /* </span>α<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> <span lang=EN-US>'..'
</span><EFBFBD><EFBFBD>ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> '.'</span><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>ȣ<EFBFBD><span lang=EN-US> */</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>118</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if ((*dir) == <u><span style='color:blue'>current</span></u>-&gt;root)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>119</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
namelen=1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>120</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
else if ((*dir)-&gt;i_num == <u><span style='color:blue'>ROOT_INO</span></u>) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>121</span></u><span
lang=EN-US> <b><i>/* '..' over a mount-point results in 'dir' being exchanged
for the mounted</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>122</span></u><span
lang=EN-US> <b><i>&nbsp;&nbsp;&nbsp;directory-inode. NOTE! We set mounted, so
that we can iput the new dir */</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /* </span><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD> <span
lang=EN-US>'..' </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ϡ<EFBFBD>ע<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>mounted</span><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܹ<EFBFBD><EFBFBD>Żظ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US> */</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>123</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sb=<u><span
style='color:blue'>get_super</span></u>((*dir)-&gt;i_dev);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>124</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (sb-&gt;s_imount) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>125</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(*dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>126</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(*dir)=sb-&gt;s_imount;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>127</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(*dir)-&gt;i_count++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>128</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>129</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>130</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲô<EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ȡĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ飨<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ű<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
<span lang=EN-US>i_zone[9]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD>ĵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>һ<EFBFBD><EFBFBD>ֱ<EFBFBD>Ӵ<EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ǿʹӽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ顣<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>131</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(block =
(*dir)-&gt;i_zone[0]))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>132</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>133</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(bh = <u><span
style='color:blue'>bread</span></u>((*dir)-&gt;i_dev,block)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>134</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><span lang=EN-US>&nbsp;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>򻺳<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ鲿<EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>ѭ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD>е<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>135</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>136</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de = (struct <u><span
style='color:blue'>dir_entry</span></u> *) bh-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>137</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (i &lt;
entries) {</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ顣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ٶ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD>ֻҪ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ飬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ鲻<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<span lang=EN-US>de </span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ飬Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>141</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i/DIR_ENTRIES_PER_BLOCK</span><EFBFBD>ɵõ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>еĿ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>bmap()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>inode.c</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>142</span><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>138</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if ((char *)de &gt;= <u><span style='color:blue'>BLOCK_SIZE</span></u>+bh-&gt;b_data)
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>139</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>140</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bh = <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>141</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(block = <u><span style='color:blue'>bmap</span></u>(*dir,i/<u><span
style='color:blue'>DIR_ENTRIES_PER_BLOCK</span></u>)) ||</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>142</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!(bh = <u><span style='color:blue'>bread</span></u>((*dir)-&gt;i_dev,block))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>143</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
i += <u><span style='color:blue'>DIR_ENTRIES_PER_BLOCK</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>144</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
continue;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>145</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>146</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de = (struct <u><span style='color:blue'>dir_entry</span></u> *) bh-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>147</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span><EFBFBD>͸<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><span lang=EN-US>*dir</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>bh</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>бȽ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>148</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (<u><span style='color:blue'>match</span></u>(namelen,name,de)) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>149</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*res_dir = de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>150</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>151</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>152</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>153</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
i++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>154</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬻<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>155</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>156</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return <u><span
style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>157</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>158</span></u><span
lang=EN-US> </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>159</span></u><span
lang=EN-US> <b><i>/*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>160</span></u><span
lang=EN-US> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add_entry()</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>161</span></u><span
lang=EN-US> <b><i>&nbsp;*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>162</span></u><span
lang=EN-US> <b><i>&nbsp;* adds a file entry to the specified directory, using
the same</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>163</span></u><span
lang=EN-US> <b><i>&nbsp;* semantics as find_entry(). It returns NULL if it
failed.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>164</span></u><span
lang=EN-US> <b><i>&nbsp;*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>165</span></u><span
lang=EN-US> <b><i>&nbsp;* NOTE!! The inode part of 'de' is left at 0 - which
means you</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>166</span></u><span
lang=EN-US> <b><i>&nbsp;* may not sleep between calling this and putting something
into</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>167</span></u><span
lang=EN-US> <b><i>&nbsp;* the entry, as someone else might have used it while
you slept.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>168</span></u><span
lang=EN-US> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; add_entry()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>find_entry()</span>ͬ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>ע<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>'de'</span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㲿<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0 - </span><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>ʾ<EFBFBD>ڵ<EFBFBD><EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ֮<EFBFBD><EFBFBD><EFBFBD>ȥ˯<EFBFBD>ߡ<EFBFBD>
<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>˯<EFBFBD>ߣ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>(</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>)</span><EFBFBD><EFBFBD><EFBFBD>ܻ<EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>dir
- </span>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣻<span lang=EN-US>name - </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>namelen - </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><span
lang=EN-US>res_dir - </span><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>169</span></u><span
lang=EN-US> static struct <u><span style='color:blue'>buffer_head</span></u> * <u><span
style='color:blue'>add_entry</span></u>(struct <u><span style='color:blue'>m_inode</span></u>
* dir,</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>170</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char * name,
int namelen, struct <u><span style='color:blue'>dir_entry</span></u> **
res_dir)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>171</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>172</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int block,i;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>173</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>174</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>175</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD>Ҫ<EFBFBD>Ժ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>30</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˷<EFBFBD><EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NO_TRUNCATE</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD><span lang=EN-US>NAME_LEN</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NO_TRUNCATE</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD><span lang=EN-US>NAME_LEN</span>ʱ<EFBFBD>ض<EFBFBD>֮<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>176</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *res_dir = <u><span
style='color:blue'>NULL</span></u>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>177</span></u><span
lang=EN-US> #ifdef NO_TRUNCATE</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>178</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (namelen &gt; <u><span
style='color:blue'>NAME_LEN</span></u>)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>179</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>180</span></u><span
lang=EN-US> #else</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>181</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if (namelen &gt; <u><span
style='color:blue'>NAME_LEN</span></u>)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>182</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
namelen = <u><span style='color:blue'>NAME_LEN</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>183</span></u><span
lang=EN-US> #endif</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ȶ<EFBFBD>ȡĿ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ飨<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ű<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>
<span lang=EN-US>i_zone[9]</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><EFBFBD>ֱ<EFBFBD>Ӵ<EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿʹӽڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ顣<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NULL</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>184</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>185</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>186</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(block =
dir-&gt;i_zone[0]))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>187</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>188</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(bh = <u><span
style='color:blue'>bread</span></u>(dir-&gt;i_dev,block)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>189</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δʹ<EFBFBD>õĿ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ָ<EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ<EFBFBD>򻺳<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ鲿<EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>е<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼʱ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>190</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>191</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de = (struct <u><span
style='color:blue'>dir_entry</span></u> *) bh-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>192</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (1) {</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ŀ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ݿ飬<EFBFBD>ٶ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ھʹ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>򴴽<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>򷵻ؿա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴ζ<EFBFBD>ȡ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD>صĻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD>´<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀտ飬<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // DIR_ENTRIES_PER_BLOCK</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ鲢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ṹָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span>ָ<EFBFBD><EFBFBD>ÿ<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD>֣<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>196</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ϵ<EFBFBD> <span lang=EN-US>i/DIR_ENTRIES_PER_BLOCK
</span><EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>ļ<EFBFBD><EFBFBD>еĿ<EFBFBD>ţ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>create_block()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>inode.c</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>147</span><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>ȡ<EFBFBD>򴴽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>193</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if ((char *)de &gt;= <u><span style='color:blue'>BLOCK_SIZE</span></u>+bh-&gt;b_data)
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>194</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>195</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bh = <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>196</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
block = <u><span style='color:blue'>create_block</span></u>(dir,i/<u><span
style='color:blue'>DIR_ENTRIES_PER_BLOCK</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>197</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!block)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>198</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>199</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(bh = <u><span style='color:blue'>bread</span></u>(dir-&gt;i_dev,block)))
{ // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>200</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
i += <u><span style='color:blue'>DIR_ENTRIES_PER_BLOCK</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>201</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
continue;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>202</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>203</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de = (struct <u><span style='color:blue'>dir_entry</span></u> *) bh-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>204</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>Ϣ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>ֵ <span
lang=EN-US>i_size </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĿ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>ܰ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ӵ<EFBFBD>Ŀ¼<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ĩ<EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǶԸô<EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD>ø<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD>Ŀ¼<EFBFBD>ļ<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><EFBFBD>¸<EFBFBD>Ŀ¼<EFBFBD>ĸı<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>205</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (i*sizeof(struct <u><span style='color:blue'>dir_entry</span></u>) &gt;=
dir-&gt;i_size) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>206</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de-&gt;inode=0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>207</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir-&gt;i_size = (i+1)*sizeof(struct <u><span style='color:blue'>dir_entry</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>208</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir-&gt;i_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>209</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir-&gt;i_ctime = <u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>210</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD> <span
lang=EN-US>de </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ҵ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δʹ<EFBFBD>õĿ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶΣ<EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD>б<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>ø<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>211</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!de-&gt;inode) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>212</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir-&gt;i_mtime = <u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>213</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
for (i=0; i &lt; <u><span style='color:blue'>NAME_LEN</span></u> ; i++)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>214</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de-&gt;name[i]=(i&lt;namelen)?<u><span style='color:blue'>get_fs_byte</span></u>(name+i):0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>215</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>216</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*res_dir = de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>217</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>218</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>219</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de++;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>220</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
i++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>221</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>Linus</span><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>find_entry()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ijɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US style='font-family:Wingdings'>J</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>222</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>223</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return <u><span
style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>224</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>225</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>dir
- </span>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㣻<span lang=EN-US>inode - </span>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>226</span></u><span
lang=EN-US> static struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>follow_link</span></u>(struct <u><span style='color:blue'>m_inode</span></u>
* dir, struct <u><span style='color:blue'>m_inode</span></u> * inode)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>227</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>228</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unsigned short fs;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>fs</span><EFBFBD>μĴ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>229</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>230</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>и<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD>ʹ<EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>и<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>󷵻<EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>inode</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>231</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!dir) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>232</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir = <u><span style='color:blue'>current</span></u>-&gt;root;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>233</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir-&gt;i_count++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>234</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>235</span></u><span
lang=EN-US>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!inode) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>236</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>237</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>238</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>239</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>S_ISLNK</span></u>(inode-&gt;i_mode)) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>240</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>241</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>242</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD>ȡ<span lang=EN-US>fs</span><EFBFBD>μĴ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><span
lang=EN-US>fs</span>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶε<EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0x17</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>fs</span>û<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ݶΣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>ȡ<EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ż<EFBFBD><span lang=EN-US>dir</span><EFBFBD><EFBFBD><span
lang=EN-US>inode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㲢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>fs</span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶΡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>ض<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>
<span lang=EN-US>bh </span>ָ<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>243</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __asm__(<i>&quot;mov
%%fs,%0&quot;</i>:<i>&quot;=r&quot;</i> (fs));</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>244</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (fs != 0x17 ||
!inode-&gt;i_zone[0] ||</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>245</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!(bh = <u><span style='color:blue'>bread</span></u>(inode-&gt;i_dev,
inode-&gt;i_zone[0]))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>246</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>247</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>248</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>249</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żء<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ں˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݶ<EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿռ<EFBFBD><EFBFBD>еģ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<span lang=EN-US>fs </span><EFBFBD>μĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ں˿ռ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>ں˿ռ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>λ<EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><span
lang=EN-US>fs</span><EFBFBD>μĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱָ<EFBFBD><EFBFBD><EFBFBD>ں˿ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>fs =0x10</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻָ<EFBFBD>ԭ<span
lang=EN-US>fs</span><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span lang=EN-US>_namei()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>ķ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>250</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>251</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __asm__(<i>&quot;mov
%0,%%fs&quot;</i>::<i>&quot;r&quot;</i> ((unsigned short) 0x10));</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>252</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode = <u><span
style='color:blue'>_namei</span></u>(bh-&gt;b_data,dir,0);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>253</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __asm__(<i>&quot;mov
%0,%%fs&quot;</i>::<i>&quot;r&quot;</i> (fs));</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>254</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>255</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>256</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>257</span></u><span
lang=EN-US> </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>258</span></u><span
lang=EN-US> <b><i>/*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>259</span></u><span
lang=EN-US> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get_dir()</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>260</span></u><span
lang=EN-US> <b><i>&nbsp;*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>261</span></u><span
lang=EN-US> <b><i>&nbsp;* Getdir traverses the pathname until it hits the
topmost directory.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>262</span></u><span
lang=EN-US> <b><i>&nbsp;* It returns NULL on failure.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>263</span></u><span
lang=EN-US> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;
get_dir()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Ѱָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname
- </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>inode - </span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼĿ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD>롣ʧ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>264</span></u><span
lang=EN-US> static struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>get_dir</span></u>(const char * pathname, struct <u><span
style='color:blue'>m_inode</span></u> * inode)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>265</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>266</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char c;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>267</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char * <u><span
style='color:blue'>thisname</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>268</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>269</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen,inr;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>270</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>271</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>272</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><span lang=EN-US>inode</span>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>̵ĵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>'/'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ӧ<EFBFBD>ôӵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㿪ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ȷŻز<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD>ȡ<EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õĸ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣Ȼ<EFBFBD><EFBFBD>Ѹ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> <span lang=EN-US>'/'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><EFBFBD>Ա<EFBFBD>֤<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>273</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!inode) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>274</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode = <u><span style='color:blue'>current</span></u>-&gt;pwd;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD>̵ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>275</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_count++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>276</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>277</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((c=<u><span
style='color:blue'>get_fs_byte</span></u>(pathname))==<i>'/'</i>) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>278</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD>Ż<EFBFBD>ԭ<span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>279</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode = <u><span style='color:blue'>current</span></u>-&gt;root;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>280</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pathname++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>281</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_count++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>282</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĸ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֺ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Ե<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD> <span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD>жϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ұѱ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>thisname </span>ָ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>п<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD> <20><>Ȼ<EFBFBD>ڸս<DAB8><D5BD><EFBFBD>ѭ<EFBFBD><D1AD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ǰ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span
lang=EN-US>inode</span><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD≯<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼĿ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>283</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (1) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>284</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>thisname</span></u> = pathname;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>285</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!<u><span style='color:blue'>S_ISDIR</span></u>(inode-&gt;i_mode) || !<u><span
style='color:blue'>permission</span></u>(inode,<u><span style='color:blue'>MAY_EXEC</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>286</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>287</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>288</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ÿ<EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>Ҫ<EFBFBD><EFBFBD>·</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵӵ<EFBFBD>ǰ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
<span lang=EN-US>pathname </span><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><span lang=EN-US>'/'</span><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span
lang=EN-US>namelen </span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵij<EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span
lang=EN-US>thisname </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵĿ<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD>ǽ<EFBFBD>β<EFBFBD><EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>򷵻ظ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>м<EFBFBD><EFBFBD><EFBFBD>
<span lang=EN-US>'/'</span><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>/usr/src/linux</span><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>src/</span>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>289</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
for(namelen=0;(c=<u><span style='color:blue'>get_fs_byte</span></u>(pathname++))&amp;&amp;(c!=<i>'/'</i>);namelen++)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>290</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><i>/* nothing */</i></b> ;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>291</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!c)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>292</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return inode;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵõ<EFBFBD><EFBFBD><EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>find_entry()</span><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ѱ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><span lang=EN-US>inr</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>idev</span><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Żظ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣
Ȼ<EFBFBD><EFBFBD>ȡ<EFBFBD>ڵ<EFBFBD><EFBFBD><span lang=EN-US>inr</span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>inode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>һĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><span lang=EN-US>follow_link()</span><EFBFBD>Ϳ<EFBFBD><EFBFBD>Եõ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>293</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(bh = <u><span style='color:blue'>find_entry</span></u>(&amp;inode,<u><span
style='color:blue'>thisname</span></u>,namelen,&amp;de))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>294</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>295</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>296</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>297</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inr = de-&gt;inode;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>298</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>299</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir = inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>300</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(inode = <u><span style='color:blue'>iget</span></u>(dir-&gt;i_dev,inr)))
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // </span>ȡ<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>301</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>302</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>303</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>304</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(inode = <u><span style='color:blue'>follow_link</span></u>(dir,inode)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>305</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>306</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>307</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>308</span></u><span
lang=EN-US> </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>309</span></u><span
lang=EN-US> <b><i>/*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>310</span></u><span
lang=EN-US> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir_namei()</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>311</span></u><span
lang=EN-US> <b><i>&nbsp;*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>312</span></u><span
lang=EN-US> <b><i>&nbsp;* dir_namei() returns the inode of the directory of the</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>313</span></u><span
lang=EN-US> <b><i>&nbsp;* specified name, and the name within that directory.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>314</span></u><span
lang=EN-US> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; dir_namei()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * dir_namei()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname
- </span>Ŀ¼·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>namelen - </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><span lang=EN-US>name - </span><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // base - </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼĿ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>NULL</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩ<EFBFBD>˵<EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>315</span></u><span
lang=EN-US> static struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>dir_namei</span></u>(const char * pathname,</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>316</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int * namelen,
const char ** name, struct <u><span style='color:blue'>m_inode</span></u> *
base)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>317</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>318</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char c;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>319</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>320</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>321</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣Ȼ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>һ<EFBFBD><EFBFBD><span lang=EN-US>'/'</span><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD>롣ע<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><span
lang=EN-US>'/'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><span
lang=EN-US>i</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><span
lang=EN-US>'/'</span><EFBFBD>ַ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>289</span><EFBFBD><EFBFBD><EFBFBD>ϵġ<EFBFBD>ע<EFBFBD>⡱˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>322</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>get_dir</span></u>(pathname,base)))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// base</span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼĿ¼<span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>323</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>324</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; basename =
pathname;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>325</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (c=<u><span
style='color:blue'>get_fs_byte</span></u>(pathname++))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>326</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (c==<i>'/'</i>)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>327</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
basename=pathname;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>328</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *namelen =
pathname-basename-1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>329</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *name = basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>330</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return dir;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>331</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>332</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>ȡָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname
- </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>base - </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㣻<span
lang=EN-US>follow_links - </span><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵı<EFBFBD>־<EFBFBD><EFBFBD><span
lang=EN-US>1 - </span><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>333</span></u><span
lang=EN-US> struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>_namei</span></u>(const char * pathname, struct <u><span
style='color:blue'>m_inode</span></u> * base,</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>334</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int follow_links)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>335</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>336</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>337</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int inr,namelen;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>338</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>339</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>340</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>341</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD>򷵻<EFBFBD><span lang=EN-US>NULL</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD>ظ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼĿ¼<span
lang=EN-US>base</span><EFBFBD><EFBFBD><EFBFBD>ٴε<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>dir_namei()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϡ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>311</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>dir_namei</span></u>(pathname,&amp;namelen,&amp;basename)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>312</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>313</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!namelen)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><i>/* special case: '/usr/' etc */</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>314</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return dir;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/* </span><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span lang=EN-US>'/usr/'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> */</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>342</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(base = <u><span
style='color:blue'>dir_namei</span></u>(pathname,&amp;namelen,&amp;basename,base)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>343</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>344</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!namelen)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><i>/* special case: '/usr/' etc */</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>345</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return base;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD>صĶ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ѱ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣ע<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>м<EFBFBD><span
lang=EN-US>'/'</span><EFBFBD><EFBFBD><EFBFBD>򲻻᷵<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣡 <20><><EFBFBD><span
lang=EN-US>/usr/src/linux</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span lang=EN-US>src/</span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>dir_namei() </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>'/'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Ѱ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㺯<EFBFBD><EFBFBD><span lang=EN-US>find_entry()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<span lang=EN-US>de</span><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>dir</span><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>346</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;base,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>347</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>348</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(base);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>349</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>350</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㡣Ȼ<EFBFBD><EFBFBD>ȡ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ӧ<EFBFBD>ڵ<EFBFBD>ŵ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷵻ظ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ָ<EFBFBD><EFBFBD><span lang=EN-US>inode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><span
lang=EN-US>follow_link()</span><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>351</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inr = de-&gt;inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>352</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>353</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(inode = <u><span
style='color:blue'>iget</span></u>(base-&gt;i_dev,inr))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>354</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(base);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>355</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return <u><span style='color:blue'>NULL</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>356</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>357</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (follow_links)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>358</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode = <u><span style='color:blue'>follow_link</span></u>(base,inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>359</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>360</span></u><span
lang=EN-US> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span
style='color:blue'>iput</span></u>(base);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>361</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_atime=<u><span
style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>362</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt=1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>363</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>364</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>365</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>ȡָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname
- </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>366</span></u><span
lang=EN-US> struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>lnamei</span></u>(const char * pathname)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>367</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>368</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return <u><span
style='color:blue'>_namei</span></u>(pathname, <u><span style='color:blue'>NULL</span></u>,
0);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>369</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>370</span></u><span
lang=EN-US> </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>371</span></u><span
lang=EN-US> <b><i>/*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>372</span></u><span
lang=EN-US> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; namei()</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>373</span></u><span
lang=EN-US> <b><i>&nbsp;*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>374</span></u><span
lang=EN-US> <b><i>&nbsp;* is used by most simple commands to get the inode of a
specified name.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>375</span></u><span
lang=EN-US> <b><i>&nbsp;* Open, link etc use their own routines, but this is
enough for things</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>376</span></u><span
lang=EN-US> <b><i>&nbsp;* like 'chmod' etc.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>377</span></u><span
lang=EN-US> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp; namei()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<span lang=EN-US>open</span><EFBFBD><EFBFBD><span lang=EN-US>link</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ģʽ<span
lang=EN-US>'chmod'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>ȡָ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname
- </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>378</span></u><span
lang=EN-US> struct <u><span style='color:blue'>m_inode</span></u> * <u><span
style='color:blue'>namei</span></u>(const char * pathname)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>379</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>380</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return <u><span
style='color:blue'>_namei</span></u>(pathname,<u><span style='color:blue'>NULL</span></u>,1);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>381</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>382</span></u><span
lang=EN-US> </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>383</span></u><span
lang=EN-US> <b><i>/*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>384</span></u><span
lang=EN-US> <b><i>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; open_namei()</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>385</span></u><span
lang=EN-US> <b><i>&nbsp;*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>386</span></u><span
lang=EN-US> <b><i>&nbsp;* namei for open - this is in fact almost the whole
open-routine.</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>387</span></u><span
lang=EN-US> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * &nbsp;&nbsp;&nbsp;&nbsp;open_namei()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * open()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD><span
lang=EN-US>namei</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> - </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>namei</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>filename</span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>flag</span><EFBFBD>Ǵ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡֵ<span lang=EN-US>O_RDONLY</span><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>O_WRONLY</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ֻд<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>O_RDWR</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><span
lang=EN-US>O_CREAT</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>O_EXCL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // O_APPEND</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һЩ<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // mode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>S_IRWXU</span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // S_IRUSR</span><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>ļ<EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>S_IRWXG</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD>ȵȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Щ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻӦ<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ĵ򿪵<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><span
lang=EN-US>sys/stat.h</span><EFBFBD><EFBFBD><span lang=EN-US>fcntl.h</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>res_inode - </span><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>Ӧ<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>388</span></u><span
lang=EN-US> int <u><span style='color:blue'>open_namei</span></u>(const char *
pathname, int flag, int mode,</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>389</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> ** res_inode)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>390</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>391</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>392</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int
inr,dev,namelen;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>393</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir, *inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>394</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>395</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>396</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȶԺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // O_TRUNC</span>ȴ<EFBFBD><EFBFBD>λ<EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>򿪱<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻд<EFBFBD><EFBFBD>־<span
lang=EN-US>O_WRONLY</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>־<span lang=EN-US>O_TRUNC</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>Ӧλ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>־<span
lang=EN-US>I_REGULAR</span><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ򿪵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>411</span><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>ע<EFBFBD>͡<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>397</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((flag &amp; <u><span
style='color:blue'>O_TRUNC</span></u>) &amp;&amp; !(flag &amp; <u><span
style='color:blue'>O_ACCMODE</span></u>))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>398</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
flag |= <u><span style='color:blue'>O_WRONLY</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>399</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mode &amp;= 0777
&amp; ~current-&gt;<u><span style='color:blue'>umask</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>400</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mode |= <u><span
style='color:blue'>I_REGULAR</span></u>;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><span lang=EN-US>include/const.h</span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѱ<EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><span lang=EN-US>'</span><span lang=EN-US>/usr/' </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Ƚ<EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD>ظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㲢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǷŻظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>401</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>dir_namei</span></u>(pathname,&amp;namelen,&amp;basename,<u><span
style='color:blue'>NULL</span></u>)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>402</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>403</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen)
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b><i>/* special case: '/usr/' etc */</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>404</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(flag &amp; (<u><span style='color:blue'>O_ACCMODE</span></u>|<u><span
style='color:blue'>O_CREAT</span></u>|<u><span style='color:blue'>O_TRUNC</span></u>)))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>405</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*res_inode=dir;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>406</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>407</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>408</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>409</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EISDIR</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>410</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>dir</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>de</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><20><><EFBFBD><EFBFBD>ø<EFBFBD><C3B8>ٻ<EFBFBD><D9BB><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ָ<EFBFBD><EFBFBD>Ϊ<span lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾû<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ڸ<EFBFBD>Ŀ¼û<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>411</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>412</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>413</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(flag &amp; <u><span style='color:blue'>O_CREAT</span></u>)) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>414</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>415</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>416</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>417</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!<u><span style='color:blue'>permission</span></u>(dir,<u><span
style='color:blue'>MAY_WRITE</span></u>)) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>418</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>419</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EACCES</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>420</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʹ<EFBFBD>á<EFBFBD>
<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>п<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD> <span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD>ýڵ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><span lang=EN-US>id</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>dir</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>421</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode = <u><span style='color:blue'>new_inode</span></u>(dir-&gt;i_dev);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>422</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!inode) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>423</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>424</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>425</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>426</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_uid = <u><span style='color:blue'>current</span></u>-&gt;euid;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>427</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_mode = mode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>428</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>429</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bh = <u><span style='color:blue'>add_entry</span></u>(dir,basename,namelen,&amp;de);</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>Ӧ<EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㲢<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><C3B8><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD>һЩ<D2BB><D0A9>ʼֵ<CABC><D6B5><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD>
Ȼ<EFBFBD><EFBFBD><EFBFBD>ͷŸø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>430</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>431</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>432</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>433</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>434</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>435</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>436</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de-&gt;inode = inode-&gt;i_num;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>437</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>438</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>439</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>440</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
*res_inode = inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>441</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>442</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>411</span><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ȡ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>bh</span><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>򿪵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŸø<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<span lang=EN-US>O_EXCL</span><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>򷵻<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>443</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inr = de-&gt;inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>444</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dev =
dir-&gt;i_dev;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>445</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>446</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (flag &amp; <u><span
style='color:blue'>O_EXCL</span></u>) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>447</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>448</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EEXIST</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>449</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD>ȡ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㲢<EFBFBD>ҷ<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>ֻ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>д<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD>޳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>450</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(inode = <u><span
style='color:blue'>follow_link</span></u>(dir,<u><span style='color:blue'>iget</span></u>(dev,inr))))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>451</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EACCES</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>452</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ((<u><span
style='color:blue'>S_ISDIR</span></u>(inode-&gt;i_mode) &amp;&amp; (flag &amp; <u><span
style='color:blue'>O_ACCMODE</span></u>)) ||</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>453</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!<u><span style='color:blue'>permission</span></u>(inode,<u><span
style='color:blue'>ACC_MODE</span></u>(flag))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>454</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>455</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>456</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>¸<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵΪ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>򽫸<EFBFBD><span
lang=EN-US>i</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷵻ظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>457</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_atime =
<u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>458</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (flag &amp; <u><span
style='color:blue'>O_TRUNC</span></u>)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>459</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>truncate</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>460</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *res_inode = inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>461</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>462</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>463</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>ļ<EFBFBD><EFBFBD>ڵ㣨<span
lang=EN-US>node</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp; &nbsp;// </span><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>filename</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>mode</span><EFBFBD><EFBFBD><span lang=EN-US>dev</span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳ<EFBFBD>ڵ㣨<EFBFBD><EFBFBD>ͨ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>filename
- </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>mode - </span>ָ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><span lang=EN-US>dev
- </span><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>464</span></u><span
lang=EN-US> int <u><span style='color:blue'>sys_mknod</span></u>(const char *
filename, int mode, int dev)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>465</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>466</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>467</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>468</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir, * inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>469</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>470</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>471</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺͲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Բ<EFBFBD>ȡ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>472</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>suser</span></u>())</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>473</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>474</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>dir_namei</span></u>(filename,&amp;namelen,&amp;basename, <u><span
style='color:blue'>NULL</span></u>)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>475</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>476</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>477</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>478</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>479</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>480</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>permission</span></u>(dir,<u><span style='color:blue'>MAY_WRITE</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>481</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>482</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>483</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>484</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>485</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>486</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>487</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>488</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EEXIST</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>489</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><span
lang=EN-US>i_zone[0]</span><EFBFBD>д<EFBFBD>ŵ<EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>490</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode = <u><span
style='color:blue'>new_inode</span></u>(dir-&gt;i_dev);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>491</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!inode) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޿ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>492</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>493</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>494</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>495</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_mode =
mode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>496</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (<u><span
style='color:blue'>S_ISBLK</span></u>(mode) || <u><span style='color:blue'>S_ISCHR</span></u>(mode))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>497</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_zone[0] = dev;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>498</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_mtime =
inode-&gt;i_atime = <u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>499</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<span lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>500</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>add_entry</span></u>(dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>501</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>502</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>503</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks=0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>504</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>505</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>506</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>ɹ<EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD><span
lang=EN-US>0(</span><EFBFBD>ɹ<EFBFBD><span lang=EN-US>)</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>507</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode =
inode-&gt;i_num;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>508</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>509</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>510</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>511</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>512</span></u><span
lang=EN-US> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>513</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>514</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; ////&nbsp; </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>pathname
- </span>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>mode - </span>Ŀ¼ʹ<EFBFBD>õ<EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>515</span></u><span
lang=EN-US> int <u><span style='color:blue'>sys_mkdir</span></u>(const char *
pathname, int mode)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>516</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>517</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>518</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>519</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir, * inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>520</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh, *dir_block;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>521</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>522</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Բ<EFBFBD>ȡ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ָ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>523</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>dir_namei</span></u>(pathname,&amp;namelen,&amp;basename, <u><span
style='color:blue'>NULL</span></u>)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>524</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>525</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>526</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>527</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>528</span></u><span
lang=EN-US>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>529</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>permission</span></u>(dir,<u><span style='color:blue'>MAY_WRITE</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>530</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>531</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>532</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD>ڵ㡣</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>32</span><EFBFBD>ֽ<EFBFBD> <20><><span lang=EN-US>2</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ĵ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ʱ<EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><span
lang=EN-US>2</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>'.'</span><EFBFBD><EFBFBD><span lang=EN-US>'..'</span>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>533</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>534</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>535</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>536</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>537</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EEXIST</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>538</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>539</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode = <u><span
style='color:blue'>new_inode</span></u>(dir-&gt;i_dev);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>540</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!inode) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޿ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>541</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>542</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>543</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>544</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_size =
32;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>545</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>546</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_mtime =
inode-&gt;i_atime = <u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĴ<EFBFBD><EFBFBD>̿飬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ĵ<EFBFBD>һ<EFBFBD><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڸÿ<EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żض<EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>µ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>пռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>547</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!(inode-&gt;i_zone[0]=<u><span style='color:blue'>new_block</span></u>(inode-&gt;i_dev)))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>548</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>549</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>550</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>551</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>552</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>553</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD>̿飨Ŀ<EFBFBD><EFBFBD><EFBFBD>ǰѶ<EFBFBD>Ӧ<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żض<EFBFBD>Ӧ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD>̿飻<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><EFBFBD>µ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>û<EFBFBD>пռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>554</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir_block=<u><span
style='color:blue'>bread</span></u>(inode-&gt;i_dev,inode-&gt;i_zone[0]))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>555</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>556</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>557</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>558</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ERROR</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>559</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD><span
lang=EN-US>2</span><EFBFBD><EFBFBD>Ĭ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><span lang=EN-US>'.'</span><EFBFBD><EFBFBD><span lang=EN-US>'..'</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ飬Ȼ<EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶε<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>&quot;.&quot;</span><EFBFBD><EFBFBD> Ȼ<><C8BB><span lang=EN-US>de</span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸýṹ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD> <span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ź<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>&quot;..&quot;</span><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŸû<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٳ<EFBFBD>ʼ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ģʽ<EFBFBD>ֶΣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>560</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de = (struct <u><span
style='color:blue'>dir_entry</span></u> *) dir_block-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>561</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de-&gt;inode=inode-&gt;i_num;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//
</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>'.'</span>Ŀ¼<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>562</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>strcpy</span></u>(de-&gt;name,<i>&quot;.&quot;</i>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>563</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>564</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode =
dir-&gt;i_num;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>'..'</span>Ŀ¼<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>565</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>strcpy</span></u>(de-&gt;name,<i>&quot;..&quot;</i>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>566</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_nlinks
= 2;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>567</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dir_block-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>568</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(dir_block);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>569</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_mode = <u><span
style='color:blue'>I_DIRECTORY</span></u> | (mode &amp; 0777 &amp;
~current-&gt;<u><span style='color:blue'>umask</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>570</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>571</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>add_entry</span></u>(dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>572</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>573</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>574</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks=0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>575</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>576</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>577</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ֶε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>578</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode =
inode-&gt;i_num;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>579</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>580</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir-&gt;i_nlinks++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>581</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir-&gt;i_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>582</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>583</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>584</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>585</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>586</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>587</span></u><span
lang=EN-US> </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>588</span></u><span
lang=EN-US> <b><i>/*</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>589</span></u><span
lang=EN-US> <b><i>&nbsp;* routine to check that the specified directory is
empty (for rmdir)</i></b></span></p>
<p class=a><u><span lang=EN-US style='color:blue'>590</span></u><span
lang=EN-US> <b><i>&nbsp;*/</i></b></span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; /*</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; * </span><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD>յ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>rmdir</span>ϵͳ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp; */</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD>Ƿ<EFBFBD>ա<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>inode
- </span>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><span lang=EN-US>1 <20>C
</span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ǿյģ<EFBFBD><span lang=EN-US>0 - </span><EFBFBD><EFBFBD><EFBFBD>ա<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>591</span></u><span
lang=EN-US> static int <u><span style='color:blue'>empty_dir</span></u>(struct <u><span
style='color:blue'>m_inode</span></u> * inode)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>592</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>593</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int nr,block;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>594</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;int len;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>595</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>596</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>597</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>2</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>&quot;.&quot;</span><EFBFBD><EFBFBD><span
lang=EN-US>&quot;..&quot;</span><EFBFBD><EFBFBD> <20><><EFBFBD>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>2</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ĵ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // 1</span><EFBFBD><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD>û<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>κδ<EFBFBD><EFBFBD>̿<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>dev </span><EFBFBD><EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0(</span>ʧ<EFBFBD><EFBFBD><span lang=EN-US>)</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>598</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; len =
inode-&gt;i_size / sizeof (struct <u><span style='color:blue'>dir_entry</span></u>);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// </span>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>599</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (len&lt;2 ||
!inode-&gt;i_zone[0] ||</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>600</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
!(bh=<u><span style='color:blue'>bread</span></u>(inode-&gt;i_dev,inode-&gt;i_zone[0])))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>601</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>printk</span></u>(<i>&quot;warning - bad directory
on dev %04x\n&quot;</i>,inode-&gt;i_dev);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>602</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>603</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<span lang=EN-US>bh</span><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span>ָ<EFBFBD>򻺳<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><span
lang=EN-US>&quot;.&quot;</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><span
lang=EN-US>inode</span>Ӧ<EFBFBD>õ<EFBFBD><EFBFBD>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>2</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><span
lang=EN-US>&quot;..&quot;</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><span
lang=EN-US> inode </span>Ӧ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ϊ<span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><span
lang=EN-US>2</span><EFBFBD><EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶβ<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>&quot;.&quot;</span><EFBFBD><EFBFBD><span lang=EN-US>&quot;..&quot;</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>dev</span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>604</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de = (struct <u><span
style='color:blue'>dir_entry</span></u> *) bh-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>605</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (de[0].inode !=
inode-&gt;i_num || !de[1].inode || </span></p>
<p class=a><u><span lang=EN-US style='color:blue'>606</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>strcmp</span></u>(<i>&quot;.&quot;</i>,de[0].name)
|| <u><span style='color:blue'>strcmp</span></u>(<i>&quot;..&quot;</i>,de[1].name))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>607</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>printk</span></u>(<i>&quot;warning - bad directory
on dev %04x\n&quot;</i>,inode-&gt;i_dev);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>608</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>609</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>nr</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD>ʼ<EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еģ<EFBFBD><span
lang=EN-US>len - 2</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶβ<EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>610</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nr = 2;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>611</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de += 2;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>612</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (nr&lt;len) {</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD>е<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŸô<EFBFBD><EFBFBD>̿<EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD>̿顣<EFBFBD><EFBFBD>ȡ<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD>ݵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US> nr </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ӦĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ţ<EFBFBD><span
lang=EN-US>nr/DIR_ENTRIES_PER_BLOCK</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><span lang=EN-US> bmap()</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ö<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><span
lang=EN-US> block</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ö<EFBFBD><EFBFBD><EFBFBD>̿麯<EFBFBD><EFBFBD><span lang=EN-US>bread() </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظû<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>̿<EFBFBD>û<EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׸<EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>613</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if ((void *) de &gt;= (void *) (bh-&gt;b_data+<u><span style='color:blue'>BLOCK_SIZE</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>614</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>615</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;block=<u><span
style='color:blue'>bmap</span></u>(inode,nr/<u><span style='color:blue'>DIR_ENTRIES_PER_BLOCK</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>616</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!block) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>617</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
nr += <u><span style='color:blue'>DIR_ENTRIES_PER_BLOCK</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>618</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
continue;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>619</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>620</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!(bh=<u><span style='color:blue'>bread</span></u>(inode-&gt;i_dev,block)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>621</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>622</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de = (struct <u><span style='color:blue'>dir_entry</span></u> *) bh-&gt;b_data;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>623</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ<EFBFBD><EFBFBD>ĵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀǰ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŸø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>в<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>nr</span><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><span lang=EN-US>de</span>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>624</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (de-&gt;inode) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>625</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>626</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>627</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>628</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
de++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>629</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;nr++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>630</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ִ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>(</span><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>)</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>631</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L632><u><span lang=EN-US style='color:blue'>632</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;</span></p>
<p class=a><a name=L633><u><span lang=EN-US style='color:blue'>633</span></u></a><span
lang=EN-US> }</span></p>
<p class=a><a name=L634><u><span lang=EN-US style='color:blue'>634</span></u></a><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <span lang=EN-US>name
- </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><a name=L635><u><span lang=EN-US style='color:blue'>635</span></u></a><span
lang=EN-US> int <u><span style='color:blue'>sys_rmdir</span></u>(const char *
name)</span></p>
<p class=a><a name=L636><u><span lang=EN-US style='color:blue'>636</span></u></a><span
lang=EN-US> {</span></p>
<p class=a><a name=L637><u><span lang=EN-US style='color:blue'>637</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><a name=L638><u><span lang=EN-US style='color:blue'>638</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen;</span></p>
<p class=a><a name=L639><u><span lang=EN-US style='color:blue'>639</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir, * inode;</span></p>
<p class=a><a name=L640><u><span lang=EN-US style='color:blue'>640</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><a name=L641><u><span lang=EN-US style='color:blue'>641</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><a name=L642><u><span lang=EN-US style='color:blue'>642</span></u></a><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Բ<EFBFBD>ȡ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ָ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L643><u><span lang=EN-US style='color:blue'>643</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>dir_namei</span></u>(name,&amp;namelen,&amp;basename, <u><span
style='color:blue'>NULL</span></u>)))</span></p>
<p class=a><a name=L644><u><span lang=EN-US style='color:blue'>644</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><a name=L645><u><span lang=EN-US style='color:blue'>645</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen) {</span></p>
<p class=a><a name=L646><u><span lang=EN-US style='color:blue'>646</span></u></a><span
lang=EN-US> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L647><u><span lang=EN-US style='color:blue'>647</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><a name=L648><u><span lang=EN-US style='color:blue'>648</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><a name=L649><u><span lang=EN-US style='color:blue'>649</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>permission</span></u>(dir,<u><span style='color:blue'>MAY_WRITE</span></u>))
{</span></p>
<p class=a><a name=L650><u><span lang=EN-US style='color:blue'>650</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L651><u><span lang=EN-US style='color:blue'>651</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><a name=L652><u><span lang=EN-US style='color:blue'>652</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>find_entry()</span>Ѱ<EFBFBD>Ҷ<EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>bh</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><span lang=EN-US>dir</span><EFBFBD>͸<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>de
</span><EFBFBD>е<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> iget()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US> inode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>
<span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡĿ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD> <span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><a name=L653><u><span lang=EN-US style='color:blue'>653</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><a name=L654><u><span lang=EN-US style='color:blue'>654</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><a name=L655><u><span lang=EN-US style='color:blue'>655</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L656><u><span lang=EN-US style='color:blue'>656</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><a name=L657><u><span lang=EN-US style='color:blue'>657</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><a name=L658><u><span lang=EN-US style='color:blue'>658</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(inode = <u><span
style='color:blue'>iget</span></u>(dir-&gt;i_dev, de-&gt;inode))) {</span></p>
<p class=a><a name=L659><u><span lang=EN-US style='color:blue'>659</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L660><u><span lang=EN-US style='color:blue'>660</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L661><u><span lang=EN-US style='color:blue'>661</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><a name=L662><u><span lang=EN-US style='color:blue'>662</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>dir</span><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span
lang=EN-US>inode</span><EFBFBD><EFBFBD>Ҫ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>3</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>û<EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD><span lang=EN-US>euid</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>root</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ч</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>û<EFBFBD><span lang=EN-US>id</span><EFBFBD><EFBFBD><span
lang=EN-US>euid</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><span lang=EN-US>id</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ذ<EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ <span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD> <span lang=EN-US>i</span><EFBFBD>ڵ㣬Ȼ<EFBFBD><EFBFBD><EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L663><u><span lang=EN-US style='color:blue'>663</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((dir-&gt;i_mode
&amp; <u><span style='color:blue'>S_ISVTX</span></u>) &amp;&amp; <u><span
style='color:blue'>current</span></u>-&gt;euid &amp;&amp;</span></p>
<p class=a><a name=L664><u><span lang=EN-US style='color:blue'>664</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_uid != <u><span style='color:blue'>current</span></u>-&gt;euid) {</span></p>
<p class=a><a name=L665><u><span lang=EN-US style='color:blue'>665</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L666><u><span lang=EN-US style='color:blue'>666</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><a name=L667><u><span lang=EN-US style='color:blue'>667</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L668><u><span lang=EN-US style='color:blue'>668</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><a name=L669><u><span lang=EN-US style='color:blue'>669</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸ñ<EFBFBD>ɾ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US> 1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>з<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD>Ҫɾ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L670><u><span lang=EN-US style='color:blue'>670</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (inode-&gt;i_dev
!= dir-&gt;i_dev || inode-&gt;i_count&gt;1) {</span></p>
<p class=a><a name=L671><u><span lang=EN-US style='color:blue'>671</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L672><u><span lang=EN-US style='color:blue'>672</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><a name=L673><u><span lang=EN-US style='color:blue'>673</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L674><u><span lang=EN-US style='color:blue'>674</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><a name=L675><u><span lang=EN-US style='color:blue'>675</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͵<EFBFBD><EFBFBD>ڰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ͼɾ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // &quot;.&quot;</span>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǷŻذ<EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L676><u><span lang=EN-US style='color:blue'>676</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (inode == dir)
{&nbsp;&nbsp;&nbsp;&nbsp; <b><i>/* we may not delete &quot;.&quot;, but
&quot;../dir&quot; is ok */</i></b></span></p>
<p class=a><a name=L677><u><span lang=EN-US style='color:blue'>677</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><a name=L678><u><span lang=EN-US style='color:blue'>678</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L679><u><span lang=EN-US style='color:blue'>679</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L680><u><span lang=EN-US style='color:blue'>680</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><a name=L681><u><span lang=EN-US style='color:blue'>681</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Żذ<EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L682><u><span lang=EN-US style='color:blue'>682</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>S_ISDIR</span></u>(inode-&gt;i_mode)) {</span></p>
<p class=a><a name=L683><u><span lang=EN-US style='color:blue'>683</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><a name=L684><u><span lang=EN-US style='color:blue'>684</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L685><u><span lang=EN-US style='color:blue'>685</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L686><u><span lang=EN-US style='color:blue'>686</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOTDIR</span></u>;</span></p>
<p class=a><a name=L687><u><span lang=EN-US style='color:blue'>687</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豻ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǷŻذ<EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD>Ҫ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L688><u><span lang=EN-US style='color:blue'>688</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>empty_dir</span></u>(inode)) {</span></p>
<p class=a><a name=L689><u><span lang=EN-US style='color:blue'>689</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><a name=L690><u><span lang=EN-US style='color:blue'>690</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L691><u><span lang=EN-US style='color:blue'>691</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L692><u><span lang=EN-US style='color:blue'>692</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOTEMPTY</span></u>;</span></p>
<p class=a><a name=L693><u><span lang=EN-US style='color:blue'>693</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>2</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD>ϲ<EFBFBD>Ŀ¼<EFBFBD>ͱ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豻ɾ<EFBFBD><EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>2</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>Ϊ<span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD>и<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŸû<EFBFBD><EFBFBD><EFBFBD>顣Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><a name=L694><u><span lang=EN-US style='color:blue'>694</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(inode-&gt;i_nlinks != 2)</span></p>
<p class=a><a name=L695><u><span lang=EN-US style='color:blue'>695</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>printk</span></u>(<i>&quot;empty directory has
nlink!=2 (%d)&quot;</i>,inode-&gt;i_nlinks);</span></p>
<p class=a><a name=L696><u><span lang=EN-US style='color:blue'>696</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode = 0;</span></p>
<p class=a><a name=L697><u><span lang=EN-US style='color:blue'>697</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh-&gt;b_dirt = 1;</span></p>
<p class=a><a name=L698><u><span lang=EN-US style='color:blue'>698</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><a name=L699><u><span lang=EN-US style='color:blue'>699</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks=0;</span></p>
<p class=a><a name=L700><u><span lang=EN-US style='color:blue'>700</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt=1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ٽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>øýڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żذ<EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><a name=L701><u><span lang=EN-US style='color:blue'>701</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir-&gt;i_nlinks--;</span></p>
<p class=a><a name=L702><u><span lang=EN-US style='color:blue'>702</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir-&gt;i_ctime =
dir-&gt;i_mtime = <u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><a name=L703><u><span lang=EN-US style='color:blue'>703</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir-&gt;i_dirt=1;</span></p>
<p class=a><a name=L704><u><span lang=EN-US style='color:blue'>704</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><a name=L705><u><span lang=EN-US style='color:blue'>705</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><a name=L706><u><span lang=EN-US style='color:blue'>706</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;</span></p>
<p class=a><a name=L707><u><span lang=EN-US style='color:blue'>707</span></u></a><span
lang=EN-US> }</span></p>
<p class=a><a name=L708><u><span lang=EN-US style='color:blue'>708</span></u></a><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷţ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ϵͳɾ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򿪸<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ļ<EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ռ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>name
- </span><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><a name=L709><u><span lang=EN-US style='color:blue'>709</span></u></a><span
lang=EN-US> int <u><span style='color:blue'>sys_unlink</span></u>(const char *
name)</span></p>
<p class=a><a name=L710><u><span lang=EN-US style='color:blue'>710</span></u></a><span
lang=EN-US> {</span></p>
<p class=a><a name=L711><u><span lang=EN-US style='color:blue'>711</span></u></a><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>712</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>713</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir, * inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>714</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>715</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>716</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>Բ<EFBFBD>ȡ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD> <span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ָ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>717</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(dir = <u><span
style='color:blue'>dir_namei</span></u>(name,&amp;namelen,&amp;basename, <u><span
style='color:blue'>NULL</span></u>)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>718</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>719</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>720</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>721</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>722</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>723</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>permission</span></u>(dir,<u><span style='color:blue'>MAY_WRITE</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>724</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>725</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>726</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>find_entry()</span>Ѱ<EFBFBD>Ҷ<EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>bh</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD><span lang=EN-US>dir</span><EFBFBD>͸<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>de
</span><EFBFBD>е<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US> iget()</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US> inode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD>
<span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡĿ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD> <span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>ͷź<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>727</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>728</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>729</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>730</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>731</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>732</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(inode = <u><span
style='color:blue'>iget</span></u>(dir-&gt;i_dev, de-&gt;inode))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>733</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>734</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>735</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>736</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>dir</span><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span
lang=EN-US>inode</span><EFBFBD><EFBFBD>Ҫ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><span
lang=EN-US>de</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>3</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>û<EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD><span lang=EN-US>euid</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>root</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>̵<EFBFBD><span
lang=EN-US>euid</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҽ<EFBFBD><EFBFBD>̵<EFBFBD><span lang=EN-US>euid</span>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><span
lang=EN-US>id</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǷŻذ<EFBFBD><EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD>Ҫɾ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>737</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((dir-&gt;i_mode
&amp; <u><span style='color:blue'>S_ISVTX</span></u>) &amp;&amp; !<u><span
style='color:blue'>suser</span></u>() &amp;&amp;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>738</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>current</span></u>-&gt;euid != inode-&gt;i_uid
&amp;&amp;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>739</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>current</span></u>-&gt;euid != dir-&gt;i_uid) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>740</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>741</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>742</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>743</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>744</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>͸<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>745</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (<u><span
style='color:blue'>S_ISDIR</span></u>(inode-&gt;i_mode)) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>746</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>747</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>748</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>749</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>750</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ѿ<EFBFBD>Ϊ<span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>1</span><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>751</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!inode-&gt;i_nlinks) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>752</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><span
style='color:blue'>printk</span></u>(<i>&quot;Deleting nonexistent file
(%04x:%d), %d\n&quot;</i>,</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>753</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_dev,inode-&gt;i_num,inode-&gt;i_nlinks);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>754</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks=1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>755</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>0</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ʾ<EFBFBD>ͷŸ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ͷŸø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>756</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode = 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>757</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>758</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸ı<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ظ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>ʱû<EFBFBD>н<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򿪸<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>iput()</span><EFBFBD>Ż<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>μ<EFBFBD><span
lang=EN-US>fs/inode.c</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>183</span><EFBFBD>С<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>759</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>760</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>761</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_ctime =
<u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>762</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>763</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>764</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>765</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>766</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ϊһ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>Ҳ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US> - hard link</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>oldname
- </span>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>newname - </span><EFBFBD>µ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>767</span></u><span
lang=EN-US> int <u><span style='color:blue'>sys_symlink</span></u>(const char *
oldname, const char * newname)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>768</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>769</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>770</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * dir, * inode;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>771</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh, * name_block;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>772</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>773</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen, i;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>774</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char c;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>775</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>dir</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // i</span><EFBFBD>ڵ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>776</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir = <u><span
style='color:blue'>dir_namei</span></u>(newname,&amp;namelen,&amp;basename, <u><span
style='color:blue'>NULL</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>777</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!dir)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>778</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EACCES</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>779</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>780</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>781</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>782</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>783</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>permission</span></u>(dir,<u><span style='color:blue'>MAY_WRITE</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>784</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>785</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EACCES</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>786</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ģʽΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>̹涨<EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>787</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(inode = <u><span
style='color:blue'>new_inode</span></u>(dir-&gt;i_dev))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>788</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>789</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>790</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>791</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_mode = <u><span
style='color:blue'>S_IFLNK</span></u> | (0777 &amp; ~current-&gt;<u><span
style='color:blue'>umask</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>792</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ϊ<EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҪΪ<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿飬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>1</span><EFBFBD><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD><EFBFBD><span
lang=EN-US>i_zone[0]</span><EFBFBD><EFBFBD><EFBFBD>ڵõ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD>š<EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Żض<EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>п<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>793</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if
(!(inode-&gt;i_zone[0]=<u><span style='color:blue'>new_block</span></u>(inode-&gt;i_dev)))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>794</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>795</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>796</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>797</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>798</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>799</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD>̿飨Ŀ<EFBFBD><EFBFBD><EFBFBD>ǰѶ<EFBFBD>Ӧ<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>ӦĿ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><EFBFBD>µ<EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>пռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>800</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!(name_block=<u><span
style='color:blue'>bread</span></u>(inode-&gt;i_dev,inode-&gt;i_zone[0]))) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>801</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>802</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>803</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>804</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ERROR</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>805</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD>԰ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD>̿鳤<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>1024</span><EFBFBD>ֽڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1024</span><EFBFBD>ֽڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>еķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ֹ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>null</span><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ֽڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><span
lang=EN-US>NULL</span><EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD>ͷŸû<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>Ӧ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ݳ<EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>806</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>807</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (i &lt; 1023
&amp;&amp; (c=<u><span style='color:blue'>get_fs_byte</span></u>(oldname++)))</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>808</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
name_block-&gt;b_data[i++] = c;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>809</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
name_block-&gt;b_data[i] = 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>810</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
name_block-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>811</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(name_block);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>812</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_size =
i;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>813</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inode-&gt;i_dirt =
1;</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>814</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>815</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>816</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>817</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>818</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>819</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>820</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EEXIST</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>821</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ź<EFBFBD>Ŀ¼</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>Ϊ<span
lang=EN-US>NULL</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>822</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>add_entry</span></u>(dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>823</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>824</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
inode-&gt;i_nlinks--;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>825</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>826</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>827</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>828</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ֶε<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ͷŸ<EFBFBD><EFBFBD>ٻ<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD>󷵻<EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>829</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode =
inode-&gt;i_num;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>830</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>831</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>832</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>833</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(inode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>834</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>835</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>836</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; //// </span>Ϊ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ϊһ<EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>Ҳ<EFBFBD><EFBFBD>ΪӲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US> - hard link</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>oldname
- </span>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>newname - </span><EFBFBD>µ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD>򷵻<EFBFBD><span
lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򷵻س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>837</span></u><span
lang=EN-US> int <u><span style='color:blue'>sys_link</span></u>(const char *
oldname, const char * newname)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>838</span></u><span
lang=EN-US> {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>839</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>dir_entry</span></u> * de;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>840</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>m_inode</span></u> * oldinode, * dir;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>841</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct <u><span
style='color:blue'>buffer_head</span></u> * bh;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>842</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *
basename;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>843</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int namelen;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>844</span></u><span
lang=EN-US> </span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>ԭ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ô<EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡԭ<EFBFBD>ļ<EFBFBD>·</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span
lang=EN-US>oldinode</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬Ҳ<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>845</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oldinode=<u><span
style='color:blue'>namei</span></u>(oldname);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>846</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!oldinode)</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>847</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOENT</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>848</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (<u><span
style='color:blue'>S_ISDIR</span></u>(oldinode-&gt;i_mode)) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>849</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>850</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>851</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><span lang=EN-US>dir</span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // i</span><EFBFBD>ڵ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>Ż<EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>852</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir = <u><span
style='color:blue'>dir_namei</span></u>(newname,&amp;namelen,&amp;basename, <u><span
style='color:blue'>NULL</span></u>);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>853</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!dir) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>854</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>855</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EACCES</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>856</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>857</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!namelen) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>858</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>859</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>860</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EPERM</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>861</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><EFBFBD>ܿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǷŻ<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>862</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (dir-&gt;i_dev
!= oldinode-&gt;i_dev) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>863</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>864</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>865</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EXDEV</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>866</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>867</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!<u><span
style='color:blue'>permission</span></u>(dir,<u><span style='color:blue'>MAY_WRITE</span></u>))
{</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>868</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>869</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>870</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EACCES</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>871</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷŰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD><EFBFBD><EFBFBD>Ŀ</p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span>¼<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD>ٻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>872</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>find_entry</span></u>(&amp;dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>873</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>874</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>875</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>876</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>877</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>EEXIST</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>878</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Żظ<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD><EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD><EFBFBD><EFBFBD><EFBFBD>š<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ڵ<EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD>ͷŸû<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>Ŀ¼<EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㡣</p>
<p class=a><u><span lang=EN-US style='color:blue'>879</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh = <u><span
style='color:blue'>add_entry</span></u>(dir,basename,namelen,&amp;de);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>880</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!bh) {</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>881</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>882</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<u><span style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>883</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return -<u><span style='color:blue'>ENOSPC</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>884</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>885</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; de-&gt;inode =
oldinode-&gt;i_num;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>886</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bh-&gt;b_dirt = 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>887</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>brelse</span></u>(bh);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>888</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(dir);</span></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>ٽ<EFBFBD>ԭ<EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>1</span><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ʱ<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>i</span><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ı<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><span lang=EN-US>&nbsp;&nbsp;&nbsp; // </span><EFBFBD>Ż<EFBFBD>ԭ·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span
lang=EN-US>i</span><EFBFBD>ڵ㣬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><span lang=EN-US>0</span><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></p>
<p class=a><u><span lang=EN-US style='color:blue'>889</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
oldinode-&gt;i_nlinks++;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>890</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
oldinode-&gt;i_ctime = <u><span style='color:blue'>CURRENT_TIME</span></u>;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>891</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oldinode-&gt;i_dirt
= 1;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>892</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <u><span
style='color:blue'>iput</span></u>(oldinode);</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>893</span></u><span
lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>894</span></u><span
lang=EN-US> }</span></p>
<p class=a><u><span lang=EN-US style='color:blue'>895</span></u><span
lang=EN-US> </span></p>
<div class=a align=center style='text-align:center'><span lang=EN-US>
<hr size=4 width="100%" align=center>
</span></div>
<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
</div>
</body>
</html>