[PATCH mm] fix swapoff breakage; however...

From: Hugh Dickins
Date: Mon Sep 17 2007 - 14:58:26 EST


rc4-mm1's memory-controller-memory-accounting-v7.patch broke swapoff:
it extended unuse_pte_range's boolean "found" return code to allow an
error return too; but ended up returning found (1) as an error.
Replace that by success (0) before it gets to the upper level.

Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>
---
More fundamentally, it looks like any container brought over its limit in
unuse_pte will abort swapoff: that doesn't doesn't seem "contained" to me.
Maybe unuse_pte should just let containers go over their limits without
error? Or swap should be counted along with RSS? Needs reconsideration.

mm/swapfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- 2.6.23-rc4-mm1/mm/swapfile.c 2007-09-07 13:09:42.000000000 +0100
+++ linux/mm/swapfile.c 2007-09-17 15:14:47.000000000 +0100
@@ -642,7 +642,7 @@ static int unuse_mm(struct mm_struct *mm
break;
}
up_read(&mm->mmap_sem);
- return ret;
+ return (ret < 0)? ret: 0;
}

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