summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2006-03-24 03:18:11 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 07:33:26 -0800
commit4741c9fd36b3bcadd37238321c469049da94a4b9 (patch)
tree4b3031b04cdbf2d3c5a4fcc1965ed857f1cf0ce4 /drivers/block
parentfa5a734e406b53761fcc5ee22366006f71112c2d (diff)
[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 1c54f46d3f7..940bfd7951e 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;
}