Re: [PATCH linux-2.6.1-rc1-mm1] aiodio_fallback_bio_count.patch

From: Andrew Morton (akpm_at_osdl.org)
Date: 01/05/04

  • Next message: Grant Grundler: "[PATCH] 2.4.24-pre3 obmouse driver for HP OB600 C/CT laptop"
    Date:	Sun, 4 Jan 2004 21:06:42 -0800
    To: suparna@in.ibm.com
    
    

    Suparna Bhattacharya <suparna@in.ibm.com> wrote:
    >
    > > What is the significance of `written > count' in there, and of `dio->result
    > > > dio->size' in finished_one_bio()? How can these states come about?
    > >
    >
    > Both of these are checks to determine whether all or only a part of
    > the request was serviced by DIO, leaving the rest to be serviced by
    > falling back to buffered I/O.
    >
    > Earlier, we would decide this based on whether dio->result == -ENOTBLK
    > and written == -ENOTBLK respectively. However, now that we also need the
    > result to indicate how much actually got written even in -ENOTBLK case,
    > so that we can issue buffered i/o only for the remaining part of the request,
    > dio->result and written had to be modified to reflect the number of bytes
    > transferred by DIO even for the fallback to buffered i/o case.
    > So we need checks like this to find out whether there is some i/o left
    > to be issued via buffered i/o.

    Sure. But the generic_file_aio_write_nolock() code is doing this:

                    if (written >= count && !is_sync_kiocb(iocb))
                            written = -EIOCBQUEUED;
                    if (written < 0 || written >= count)
                            goto out_status;

    Under what circumstances can `written' (the amount which was written) be
    greater than `count' (the amount to write)?
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Grant Grundler: "[PATCH] 2.4.24-pre3 obmouse driver for HP OB600 C/CT laptop"

    Relevant Pages