summaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-03-24 12:18:11 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 16:33:26 +0100
commit4741c9fd36b3bcadd37238321c469049da94a4b9 (patch)
tree4b3031b04cdbf2d3c5a4fcc1965ed857f1cf0ce4 /drivers/block
parent[PATCH] balance_dirty_pages_ratelimited: take nr_pages arg (diff)
downloadlinux-4741c9fd36b3bcadd37238321c469049da94a4b9.tar.xz
linux-4741c9fd36b3bcadd37238321c469049da94a4b9.zip
[PATCH] set_page_dirty() return value fixes
We need set_page_dirty() to return true if it actually transitioned the page from a clean to dirty state. This wasn't right in a couple of places. Do a kernel-wide audit, fix things up. This leaves open the possibility of returning a negative errno from set_page_dirty() sometime in the future. But we don't do that at present. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/rd.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/rd.c b/drivers/block/rd.c
index 1c54f46d3f70..940bfd7951e5 100644
--- a/drivers/block/rd.c
+++ b/drivers/block/rd.c
@@ -186,7 +186,8 @@ static int ramdisk_writepages(struct address_space *mapping,
*/
static int ramdisk_set_page_dirty(struct page *page)
{
- SetPageDirty(page);
+ if (!TestSetPageDirty(page))
+ return 1;
return 0;
}