All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <mason@suse.com>
To: Rik van Riel <riel@conectiva.com.br>,
	Marcelo Tosatti <marcelo@conectiva.com.br>
Cc: Christoph Rohland <cr@sap.com>,
	Linus Torvalds <torvalds@transmeta.com>,
	Alexander Viro <viro@math.psu.edu>,
	Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] filemap_fdatasync & related changes
Date: Thu, 04 Jan 2001 12:38:45 -0500	[thread overview]
Message-ID: <6740000.978629925@tiny> (raw)
In-Reply-To: <Pine.LNX.4.21.0101041437550.1188-100000@duckman.distro.conectiva>

Ok, lets just fix filemap_fdatasync.  We can tackle the msync/fsync
interaction with screwed up FS writepages later, since all of the existing
writepage funcs are safe.  The problems I see with filemap_fdatasync when
writepage returns 1:

The page dirty bit is not reset.
the page is never unlocked.

So how about something like this in filemap_fdatasync

ret = writepage(page) ;
if (ret == 1) {
    /* writepage declined to write it out,
    ** leave it on the locked list, but make
    ** sure the dirty bit stays on so the page
    ** doesn't disappear
    */
    SetPageDirty(page) ;
    UnlockPage(page) ;
}

And then, in filemap_fdatawait:

list_del(&page->list) ;
if (PageDirty(page))
    list_add(&page->list, &mapping->dirty_pages) ;
else
    list_add(&page->list, &mapping->clean_pages) ;

-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2001-01-04 17:39 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-28 20:25 test13-pre5 Linus Torvalds
2000-12-28 18:39 ` test13-pre5 Marcelo Tosatti
2000-12-28 20:59   ` test13-pre5 Linus Torvalds
2000-12-28 19:22     ` test13-pre5 Marcelo Tosatti
2000-12-28 21:21       ` [wildly off-topic] test13-pre5 Rik van Riel
2000-12-28 19:31         ` Marcelo Tosatti
2000-12-28 21:39     ` test13-pre5 Daniel Phillips
2000-12-28 22:14     ` test13-pre5 Marcelo Tosatti
2000-12-29  1:10       ` test13-pre5 Linus Torvalds
2000-12-29 12:06       ` test13-pre5 Daniel Phillips
2000-12-28 22:17     ` test13-pre5 Andi Kleen
2000-12-28 22:33       ` test13-pre5 David S. Miller
2000-12-28 22:58         ` test13-pre5 Andi Kleen
2000-12-28 22:54           ` test13-pre5 David S. Miller
2000-12-28 23:17             ` test13-pre5 Andi Kleen
2000-12-28 23:14               ` test13-pre5 David S. Miller
2000-12-28 23:39                 ` test13-pre5 Andi Kleen
2000-12-28 23:25               ` test13-pre5 Rik van Riel
2000-12-28 23:36               ` test13-pre5 Linus Torvalds
2000-12-28 23:03           ` test13-pre5 Rik van Riel
2000-12-29 15:46         ` test13-pre5 Mark Hemment
2000-12-29 16:30           ` test13-pre5 Tim Wright
2000-12-29 17:54             ` test13-pre5 Mark Hemment
2000-12-29 21:23           ` test13-pre5 David S. Miller
2000-12-29 21:51             ` test13-pre5 Linus Torvalds
2000-12-28 23:15       ` test13-pre5 Linus Torvalds
2000-12-28 23:25         ` test13-pre5 Andi Kleen
2000-12-28 23:37           ` test13-pre5 Linus Torvalds
2000-12-28 23:43             ` test13-pre5 Andi Kleen
2000-12-29  0:49             ` test13-pre5 Stefan Traby
2000-12-29  1:23               ` test13-pre5 Linus Torvalds
2000-12-29  1:06                 ` test13-pre5 Albert Cranford
2000-12-29 14:53                   ` test13-pre5 Stefan Traby
2000-12-30 13:24         ` test13-pre5 Geert Uytterhoeven
2000-12-31 17:21           ` test13-pre5 Andi Kleen
2000-12-31 17:27             ` test13-pre5 Linus Torvalds
2000-12-31 17:36               ` test13-pre5 Andi Kleen
2000-12-31 18:19                 ` test13-pre5 Andrea Arcangeli
2000-12-31 18:06               ` test13-pre5 Andi Kleen
2000-12-31 18:07               ` test13-pre5 Matti Aarnio
2000-12-31 19:15                 ` test13-pre5 Linus Torvalds
2000-12-31 19:49                   ` test13-pre5 Andi Kleen
2000-12-31 18:10               ` test13-pre5 Andrea Arcangeli
2001-01-01 19:58           ` test13-pre5 H. Peter Anvin
2000-12-29 16:49     ` [PATCH] filemap_fdatasync & related changes Marcelo Tosatti
2000-12-29 21:13       ` Linus Torvalds
2001-01-03 16:37       ` Chris Mason
2001-01-03 17:07         ` Daniel Phillips
2001-01-03 18:28         ` Linus Torvalds
2001-01-03 19:09           ` Chris Mason
2001-01-03 21:39             ` Chris Wedgwood
2001-01-04 18:46           ` Stephen C. Tweedie
2001-01-04  9:48         ` Christoph Rohland
2001-01-04 14:41           ` Marcelo Tosatti
2001-01-04 16:58             ` Rik van Riel
2001-01-04 17:38               ` Chris Mason [this message]
2001-01-04 18:00                 ` Linus Torvalds
2001-01-04 22:52                   ` Daniel Phillips
2001-01-04 15:30           ` Chris Mason
2001-01-04 17:01             ` Christoph Rohland
2000-12-28 21:27 ` test13-pre5 (via82cxxx_audio.c) Jonathan Hudson
2000-12-29 18:17 ` test13-pre5 Tom Rini

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=6740000.978629925@tiny \
    --to=mason@suse.com \
    --cc=cr@sap.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    --cc=riel@conectiva.com.br \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.