<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML ><HEAD ><TITLE >end_that_request_first</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="The Linux Kernel API" HREF="book1.html"><LINK REL="UP" TITLE="Block Devices" HREF="c11504.html"><LINK REL="PREVIOUS" TITLE="ll_rw_block" HREF="r11744.html"><LINK REL="NEXT" TITLE="Miscellaneous Devices" HREF="c11850.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >The Linux Kernel API</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="r11744.html" ACCESSKEY="P" ><<< Previous</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="c11850.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="AEN11801" ></A ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >end_that_request_first</SPAN ></SPAN ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN11805" ></A ><H2 >Name</H2 >end_that_request_first -- end I/O on one buffer. </DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN11808" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN11810" ></A ><P ></P ><P ><CODE ><CODE CLASS="FUNCDEF" >int <TT CLASS="FUNCTION" >end_that_request_first </TT ></CODE >(struct request * <TT CLASS="PARAMETER" ><I >req</I ></TT >, int <TT CLASS="PARAMETER" ><I >uptodate</I ></TT >, char * <TT CLASS="PARAMETER" ><I >name</I ></TT >);</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN11820" ></A ><H2 >Arguments</H2 ><P ></P ><DIV CLASS="VARIABLELIST" ><DL ><DT ><TT CLASS="PARAMETER" ><I >req</I ></TT ></DT ><DD ><P > the request being processed </P ></DD ><DT ><TT CLASS="PARAMETER" ><I >uptodate</I ></TT ></DT ><DD ><P > 0 for I/O error </P ></DD ><DT ><TT CLASS="PARAMETER" ><I >name</I ></TT ></DT ><DD ><P > the name printed for an I/O error </P ></DD ></DL ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN11838" ></A ><H2 >Description</H2 ><P > Ends I/O on the first buffer attached to <TT CLASS="PARAMETER" ><I >req</I ></TT >, and sets it up for the next buffer_head (if any) in the cluster. </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN11842" ></A ><H2 >Return</H2 ><P > 0 - we are done with this request, call <TT CLASS="FUNCTION" >end_that_request_last</TT > 1 - still buffers pending for this request </P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN11846" ></A ><H2 >Caveat</H2 ><P > Drivers implementing their own end_request handling must call <TT CLASS="FUNCTION" >blk_finished_io</TT > appropriately. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="r11744.html" ACCESSKEY="P" ><<< Previous</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="book1.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="c11850.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ll_rw_block</SPAN ></SPAN ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="c11504.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Miscellaneous Devices</TD ></TR ></TABLE ></DIV ></BODY ></HTML >