public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Anton Altaparmakov <aia21@cam.ac.uk>
Cc: hirofumi@mail.parknet.co.jp, torvalds@osdl.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC][PATCH] problem of cont_prepare_write()
Date: Mon, 22 Nov 2004 13:53:54 -0800	[thread overview]
Message-ID: <20041122135354.38feab51.akpm@osdl.org> (raw)
In-Reply-To: <1101121403.18623.10.camel@imp.csi.cam.ac.uk>

Anton Altaparmakov <aia21@cam.ac.uk> wrote:
>
> Would it be ok to modify i_size from prepare_write?

I think so - I seem to recall seeing that done somewhere else...

One thing to watch out for is when to bring the page uptodate.  If the page
is uptodate then the read() code just won't try to lock it at all.  If you
increase i_size AND set PG_uptodate too early you could open a window which
allows read() to peek at uninitialised data.

But if you set the page uptodate only when its contents really are sane
then things should work OK.

If you end up doing

	memset(page, 0, N);
	SetPageUptodate(page);

then I think you'll need an smb_wmb() in between so the read() code sees the
above two writes in the correct order.

  reply	other threads:[~2004-11-22 21:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-22 10:30 [RFC][PATCH] problem of cont_prepare_write() OGAWA Hirofumi
2004-11-22 10:41 ` Andrew Morton
2004-11-22 10:46 ` Andrew Morton
2004-11-22 11:03   ` Anton Altaparmakov
2004-11-22 21:53     ` Andrew Morton [this message]
2004-11-22 23:30       ` Anton Altaparmakov
2004-11-22 23:43         ` Andrew Morton
2005-01-13 14:47           ` write barriers - Was: " Anton Altaparmakov
2005-01-13 15:56             ` Chris Friesen
2005-01-13 18:08               ` Florian Weimer
2004-11-22 11:38   ` OGAWA Hirofumi
2004-11-22 21:43     ` Andrew Morton
2004-11-23  2:22       ` OGAWA Hirofumi
2004-11-23  2:30         ` Andrew Morton
2004-11-23  2:55           ` OGAWA Hirofumi

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=20041122135354.38feab51.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=aia21@cam.ac.uk \
    --cc=hirofumi@mail.parknet.co.jp \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.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