linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Howells <dhowells@redhat.com>
To: Nick Piggin <npiggin@suse.de>
Cc: dhowells@redhat.com, Andrew Morton <akpm@linux-foundation.org>,
	linux-fsdevel@vger.kernel.org, mhalcrow@us.ibm.com,
	phillip@hellewell.homeip.net, sfrench@samba.org
Subject: Re: [rfc][patch 3/5] afs: new aops
Date: Wed, 14 Nov 2007 12:18:43 +0000	[thread overview]
Message-ID: <30440.1195042723@redhat.com> (raw)
In-Reply-To: <20071114042420.GF557@wotan.suse.de>

Nick Piggin <npiggin@suse.de> wrote:

> > The problem is that the code called assumes that the struct page *
> > argument points to a single page, not an array of pages as would
> > presumably be the case if PAGE_CACHE_SIZE > PAGE_SIZE.
> 
> Incorrect. Christoph's patch for example does this by using compound pages.
> Now I personally don't like the patch or see the point in PAGE_CACHE_SIZE /
> PAGE_SIZE distinction, but I'm just telling you what the convention is. There
> is no point you arguing against it, that's simply how it is.

No!  You are wrong.  I wrote the AFS code.  I *know* it can only deal with
single pages.  It has no knowledge of compound pages and does not handle page
arrays.  This may be a flaw in my code, but it's there nonetheless.  The
assertion is a guard against that.  *That* was the point of my statement.
Perhaps I should've said 'my code' rather than 'the code'.

If Christoph has a patch to deal with that, it's either not upstream yet or it
hasn't altered AFS.

> > So: you may not change the assertion unless you also fix the lower
> > functions.
> 
> I won't change the assertion, because you haven't been following said
> convention, so just changing it in one place is stupider than not changing
> it at all, but not for the reason cited.

The convention is not precisely clear.  Just grep for PAGE_CACHE_SIZE in
Documentation/.  It's only mentioned twice, and in neither case does it give
any information about what PAGE_CACHE_SIZE is, what it represents, or where it
applies.  Therefore it's an ill-defined concept.

If you look in Documentation/filesystems/vfs.txt, you'll see that it almost
always talks about 'pages'.  It only mentions 'pagecache pages' once - in the
description of write_begin(), but it's not clear whether that means anything.

However, I've now noted that I need to fix my code, so just keep the assertion
for now and I'll fix my code to handle multipage blocks.

David

  parent reply	other threads:[~2007-11-14 12:26 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-12  7:12 [rfc][patches] remove ->prepare_write Nick Piggin
2007-11-12  7:13 ` [rfc][patch 1/5] ecryptfs new aops Nick Piggin
2007-11-12  7:14 ` [rfc][patch 2/5] cifs: " Nick Piggin
2007-11-12  7:14 ` [rfc][patch 3/5] afs: " Nick Piggin
2007-11-12  7:20 ` [rfc][patch 4/5] rd: rewrite rd Nick Piggin
2007-11-12  7:23 ` [rfc][patch 5/5] remove prepare_write Nick Piggin
2007-11-12 15:29 ` [rfc][patch 3/5] afs: new aops David Howells
2007-11-13  0:15   ` Nick Piggin
2007-11-13  0:30   ` David Howells
2007-11-13  0:44     ` Nick Piggin
2007-11-13 10:56     ` David Howells
2007-11-14  4:24       ` Nick Piggin
2007-11-14 12:18       ` David Howells [this message]
2007-11-14 15:18         ` Nick Piggin
2007-11-14 15:57         ` David Howells
2007-11-14 21:32           ` Nick Piggin
2007-11-15 12:15           ` David Howells
2007-11-15 21:37             ` Nick Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=30440.1195042723@redhat.com \
    --to=dhowells@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=mhalcrow@us.ibm.com \
    --cc=npiggin@suse.de \
    --cc=phillip@hellewell.homeip.net \
    --cc=sfrench@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).