From: Nick Piggin <npiggin@suse.de>
To: Mark Fasheh <mark.fasheh@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: 2.6.22-rc3-mm1 - page_mkwrite() breakage
Date: Fri, 1 Jun 2007 03:34:02 +0200 [thread overview]
Message-ID: <20070601013402.GB28585@wotan.suse.de> (raw)
In-Reply-To: <20070601012440.GS20632@ca-server1.us.oracle.com>
On Thu, May 31, 2007 at 06:24:40PM -0700, Mark Fasheh wrote:
> On Fri, Jun 01, 2007 at 03:01:29AM +0200, Nick Piggin wrote:
> > Ah, I didn't realise you were using that yet. I expect ocfs2 is using
> > VM_CAN_INVALIDATE there anyway.
> >
> > Hmm, this becomes easier to deal with after page_mkwrite is merged with
> > ->fault. But for now, can we just lock the page at the do_wp_page site
> > as well, and change the API? All users I have seen want the page locked
> > there anyway...
>
> Unfortunately that doesn't work for ocfs2 for exactly the same reasons page
> lock doesn't work during a write either - there's a cluster lock inversion
> and we might have to zero adjacent pages for an allocating write.
I guess you could just fail the page_mkwrite and have it try again? ..
that would require changing it not to always go SIGBUS though.
> What's involved in merging it with ->fault?
Just I have't sent the patch (because at the time there were no
page_mkwrite users to look at).
It is nicer too, because the nopage path only has to call into
the filesystem once, to return the page (the filesystem can check
whether it is for write, and do the page_mkwrite thing at that
time). do_wp_page obviously still involves the extra call, and
that will be with a flag telling the fs that it isn't a "nopage"
fault, but a write fault on an existing page.
> Here's a nasty idea... Would it be valid for ->page_mkwrite to unlock the
> page, so long as it's returned in a locked state? Though, do we even need
> the page lock that early? It seemed to me that you were adding it for
> consistency reasons (I could be wrong though).
You could do that, but you'd have to probably check that it is
within i_size after you relock it, I think... yeah, that might
be the best thing for ocfs to do for now.
next prev parent reply other threads:[~2007-06-01 1:34 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-31 6:58 2.6.22-rc3-mm1 Andrew Morton
2007-05-31 12:09 ` 2.6.22-rc3-mm1 Cornelia Huck
2007-05-31 12:15 ` 2.6.22-rc3-mm1 Matthew Wilcox
2007-05-31 12:20 ` 2.6.22-rc3-mm1 Cornelia Huck
2007-05-31 12:35 ` 2.6.22-rc3-mm1 Jeff Garzik
2007-05-31 15:11 ` 2.6.22-rc3-mm1 Cornelia Huck
2007-05-31 15:13 ` 2.6.22-rc3-mm1 Christoph Hellwig
2007-05-31 22:10 ` 2.6.22-rc3-mm1 Andrew Morton
2007-06-01 7:09 ` 2.6.22-rc3-mm1 Cornelia Huck
2007-05-31 15:29 ` 2.6.22-rc3-mm1 Michal Piotrowski
2007-05-31 19:58 ` 2.6.22-rc3-mm1 Rafael J. Wysocki
2007-05-31 21:30 ` [PATCH -mm] Freezer: migration_thread should not be freezable (was: Re: [linux-pm] Re: 2.6.22-rc3-mm1) Rafael J. Wysocki
[not found] ` <6bffcb0e0705311425q2e00cc69j5006d95c3f0df158@mail.gmail.com>
2007-05-31 21:34 ` 2.6.22-rc3-mm1 Rafael J. Wysocki
2007-05-31 17:53 ` 2.6.22-rc3-mm1 Michal Piotrowski
2007-05-31 18:08 ` 2.6.22-rc3-mm1 Michal Piotrowski
2007-05-31 18:31 ` 2.6.22-rc3-mm1 Andrew Morton
2007-05-31 18:41 ` 2.6.22-rc3-mm1 Christoph Lameter
2007-05-31 18:53 ` 2.6.22-rc3-mm1 Andrew Morton
2007-05-31 18:57 ` 2.6.22-rc3-mm1 Christoph Lameter
2007-05-31 20:43 ` 2.6.22-rc3-mm1 Mariusz Kozlowski
2007-05-31 21:19 ` 2.6.22-rc3-mm1 Andrew Morton
2007-06-01 20:50 ` 2.6.22-rc3-mm1 Mariusz Kozlowski
2007-06-01 21:02 ` 2.6.22-rc3-mm1 Andrew Morton
2007-06-01 21:21 ` 2.6.22-rc3-mm1 Mariusz Kozlowski
2007-06-01 23:30 ` 2.6.22-rc3-mm1 Benjamin Herrenschmidt
2007-06-02 8:40 ` 2.6.22-rc3-mm1 Segher Boessenkool
2007-05-31 22:05 ` 2.6.22-rc3-mm1 - works-for-me and a meta-question Valdis.Kletnieks
2007-05-31 22:16 ` Andrew Morton
[not found] ` <6bffcb0e0705311527ge774f48s8014f5108556f651@mail.gmail.com>
2007-05-31 23:21 ` andrea
2007-05-31 23:13 ` 2.6.22-rc3-mm1 - page_mkwrite() breakage Mark Fasheh
2007-06-01 1:01 ` Nick Piggin
2007-06-01 1:24 ` Mark Fasheh
2007-06-01 1:34 ` Nick Piggin [this message]
2007-06-01 1:45 ` Mark Fasheh
2007-06-01 1:53 ` Nick Piggin
2007-06-01 5:20 ` Mark Fasheh
2007-06-01 22:01 ` Mark Fasheh
2007-06-01 22:25 ` Andrew Morton
2007-06-01 22:33 ` Mark Fasheh
2007-06-01 22:47 ` Andrew Morton
2007-06-01 22:53 ` Mark Fasheh
2007-06-01 2:01 ` 2.6.22-rc3-mm1 Arnaldo Carvalho de Melo
2007-06-01 2:12 ` 2.6.22-rc3-mm1 Andrew Morton
2007-06-01 2:24 ` 2.6.22-rc3-mm1 Arnaldo Carvalho de Melo
2007-06-01 3:52 ` 2.6.22-rc3-mm1 Michael Ellerman
2007-06-01 5:55 ` 2.6.22-rc3-mm1 Eric W. Biederman
2007-06-01 16:42 ` 2.6.22-rc3-mm1: IA64 make allnoconfig broken Mel Gorman
2007-06-01 17:00 ` Andrew Morton
2007-06-01 18:50 ` Mel Gorman
2007-06-01 20:55 ` [PATCH] Fix problem with IA64 make allnoconfig Mel Gorman
2007-06-02 13:57 ` 2.6.22-rc3-mm1: Xen compile error with X86_CMPXCHG=n Adrian Bunk
2007-06-28 23:36 ` Adrian Bunk
2007-06-29 3:21 ` Jeremy Fitzhardinge
2007-06-02 17:06 ` [-mm patch] fix XEN_BLKDEV_FRONTEND Makefile entry Adrian Bunk
2007-06-02 17:14 ` 2.6.22-rc3-mm1: __attribute__((weak)) considered harmful Adrian Bunk
2007-06-04 21:22 ` Andrew Morton
2007-06-04 23:52 ` Martin Peschke
2007-06-05 3:59 ` Russell King
2007-06-02 19:09 ` [-mm patch] the ASYNC_* options shouldn't be user visible Adrian Bunk
2007-06-04 16:19 ` Williams, Dan J
2007-06-03 20:54 ` [-mm patch] make drivers/firmware/dmi-id.c:dmi_id_init() static Adrian Bunk
2007-06-08 4:38 ` Greg KH
2007-06-03 20:54 ` [-mm patch] drivers/i2c/chips/ds1682.c: make code static Adrian Bunk
2007-06-04 8:15 ` Jean Delvare
2007-06-03 20:54 ` [-mm patch] make xpad_play_effect() static Adrian Bunk
2007-06-03 20:54 ` [-mm patch] fix the tea5761 tuner support Adrian Bunk
2007-06-04 18:00 ` 2.6.22-rc3-mm1 - pppd hanging in netdev_run_todo while holding mutex Valdis.Kletnieks
2007-06-06 6:14 ` Andrew Morton
2007-06-04 22:12 ` [-mm patch] e1000: #if 0 two functions Adrian Bunk
2007-06-04 22:13 ` [-mm patch] drivers/mmc/core/core.{h,c}: cleanups Adrian Bunk
2007-06-06 18:36 ` Pierre Ossman
2007-06-05 9:11 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:18 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:24 ` 2.6.22-rc3-mm1 Andrew Morton
2007-06-05 9:33 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:39 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:42 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:45 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:50 ` 2.6.22-rc3-mm1 Ingo Molnar
2007-06-05 9:56 ` 2.6.22-rc3 nmi watchdog hang Ingo Molnar
2007-06-10 18:10 ` Björn Steinbrink
2007-06-18 12:11 ` Ingo Molnar
2007-06-18 14:31 ` Björn Steinbrink
2007-06-25 6:18 ` Ingo Molnar
2007-06-25 6:59 ` Ingo Molnar
2007-06-25 8:05 ` [patch, 2.6.22-rc6] fix nmi_watchdog=2 bootup hang Ingo Molnar
2007-06-25 8:26 ` Ingo Molnar
2007-06-25 12:45 ` Björn Steinbrink
2007-06-25 12:49 ` Jeremy Fitzhardinge
2007-06-25 13:06 ` Björn Steinbrink
2007-06-25 18:50 ` [patch, 2.6.22-rc6] fix nmi_watchdog=2 bootup hang, take #2 Ingo Molnar
2007-06-25 12:40 ` [patch, 2.6.22-rc6] fix nmi_watchdog=2 bootup hang Jeremy Fitzhardinge
2007-06-25 13:13 ` Björn Steinbrink
2007-06-05 15:16 ` 2.6.22-rc3-mm1 Rusty Russell
2007-06-05 21:50 ` [-mm patch] kernel/power/disk.c: make code static Adrian Bunk
2007-06-05 22:10 ` Rafael J. Wysocki
2007-06-05 21:50 ` [-mm patch] kernel/sched{,_fair}.c: " Adrian Bunk
2007-06-06 6:54 ` Andrew Morton
2007-06-06 7:30 ` Ingo Molnar
2007-06-06 12:31 ` Adrian Bunk
2007-06-06 7:02 ` Ingo Molnar
2007-06-05 21:51 ` [-mm patch] kernel/lockdep_proc.c: make 2 functions static Adrian Bunk
2007-06-05 22:34 ` Peter Zijlstra
2007-06-05 21:51 ` [-mm patch] fs/proc/base.c: make a struct static Adrian Bunk
2007-06-06 7:32 ` Ingo Molnar
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=20070601013402.GB28585@wotan.suse.de \
--to=npiggin@suse.de \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.fasheh@oracle.com \
/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
all inboxes | Powered by JetHome®