Subject: Re: [PATCH 3/3] AFS: Implement basic file write support

From: Nick Piggin <[email-masked]>
Date: Fri, 11 May 2007 16:14:39 +1000

David Howells wrote:
> Nick Piggin <[email-masked]> wrote:
> 
> 
>>Why do you call SetPageUptodate when the page is not up to date?
>>That leaks uninitialised data, AFAIKS.
> 
> 
> It only seems that way.  If afs_prepare_write() is called, but doesn't return
> an error, then afs_commit_write() will be called, and it seems that the copy
> in of the data will be guaranteed not to fail by the caller.

Not only does it seem that way, it is that way :) PG_uptodate is being set
when the page is not uptodate, isn't it?

> Furthermore, afs_prepare_page() will have filled in the missing bits.
> 
> And whilst all that is going on, the page lock will be help by the caller, so
> that no-one else can access the partially complete page.

When a page is uptodate in pagecache, the generic read and nopage functions
do not take the page lock. So how are you excluding those?

-- 
SUSE Labs, Novell Inc.