Re: [linux-cifs-client] Re: fsx-linux failing with latest cifs-2.6 git tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2008-11-22 at 10:39 -0500, Jeff Layton wrote:
> On Fri, 21 Nov 2008 22:47:09 -0600
> Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> wrote:
> 
> > Nick's point is that it isn't really safe to mark the page Uptodate
> > until cifs_write_end(), since the data being overwritten hasn't yet
> > been.
> > 
> > How about cifs_write_begin() marking the page PageChecked instead of
> > PageUptodate, of course leaving it PageUptodate if it already is?  Then
> > cifs_write_end() only has to handle the slow path when the page is
> > neither PageUptodate or PageChecked.
> > 
> > PageChecked == PG_owner_priv_1, which is reserved for whatever the
> > filesystem wants to use it for.
> > 
> 
> Right -- Nick's point about the uptodate flag was definitely correct,
> though I'm not sure I understand when we'd get less data eventually
> copied to the page than we expected in write_begin...
> 
> I had the same thought last night about using a different flag. I was
> considering PG_private, but PG_checked sounds like a better choice.
> Thoughts on this patch? I've run some basic regression tests against
> it and it seems to work.

Just took a real quick look, but I have one comment.  I'd leave the page
alone if it's already PageUptodate.  I wouldn't bother setting
PageChecked and let cifs_write_end leave it alone when its already
uptodate.
-- 
David Kleikamp
IBM Linux Technology Center

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux