lkml.org 
[lkml]   [2004]   [Jan]   [5]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 5 Jan 2004 10:58:46 +0530
FromSuparna Bhattacharya <>
SubjectRe: [PATCH linux-2.6.1-rc1-mm1] aiodio_fallback_bio_count.patch
On Sun, Jan 04, 2004 at 09:06:42PM -0800, Andrew Morton wrote:
> 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)?

None. The '>' situation should never occur.

This is just being explicit about covering the "not less than" case
as a whole, and making sure we do not fall through to buffered i/o in
that case, i.e its the same as:
if (!(written < count) && !is_sync_kiocb(iocb))
Is that any less confusing ? Or would you rather just replace the '>=" by
"=='.

Regards
Suparna

-- 
Suparna Bhattacharya (suparna@in.ibm.com)
Linux Technology Center
IBM Software Lab, India

-
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/

\
 
 \ /
  Last update: 2005-03-22 12:59    [from the cache]
©2003-2008