--- Andi Kleen <[EMAIL PROTECTED]> wrote:
> On Thu, Jan 04, 2001 at 02:58:58PM -0800, Asang K Dani wrote:
> > --- Andi Kleen <[EMAIL PROTECTED]> wrote:
> > > On Thu, Jan 04, 2001 at 10:42:34PM +0000, Stephen C. Tweedie
> wrote:
> > > > No, because then you'd be skipping the updatepage() call if
> we
> > > took a
> > > > fault mid-copy after copying some data.  That would imply you
> had
> > > > dirtied the page cache without an updatepage().
> > > > 
> > > > The current behaviour should just result in a short IO, which
> > > should
> > > > be fine.
> > > 
> > > The problem is that the short write is not reported to the
> caller,
> > > even when only zero bytes are copied (the page is corrupted
> anyways
> > > though because cfu  zeros the uncopied rest).  
> > 
> > I think it will be reported to caller, because when cfu copies 0
> > bytes,
> > 
> >    bytes -= copy_from_user(dest, buf, bytes);
> > 
> > will make 'bytes' zero. Since 'bytes' is 'zero' updatepage will
> not
> > be called and status retains value '-EFAULT' and it breaks out of
> > the while loop immediately.
> 
> Right for zero it is handled, but not for 1 byte copied but the
> rest zeroed
> (which is a severe IO error) 
>

For all those cases (when bytes != 0 after cfu), 'status' will be
overwritten by the return value of 'updatepage'.
 
> -Andi

asang..


__________________________________________________
Do You Yahoo!?
Yahoo! Photos - Share your holiday photos online!
http://photos.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to