aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mempolicy.c
diff options
context:
space:
mode:
authorLee Schermerhorn <lee.schermerhorn@hp.com>2010-05-24 17:32:02 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-25 11:06:57 -0400
commite17f74af351cce9a1bade7b33af179497fdf95cf (patch)
tree99cce009bf299465a3b20594305ee209c8d85c3d /mm/mempolicy.c
parent1980050250fa052b1c24a19f9b3d82fae14d77f8 (diff)
mempolicy: don't call mpol_set_nodemask() when no_context
No need to call mpol_set_nodemask() when we have no context for the mempolicy. This can occur when we're parsing a tmpfs 'mpol' mount option. Just save the raw nodemask in the mempolicy's w.user_nodemask member for use when a tmpfs/shmem file is created. mpol_shared_policy_init() will "contextualize" the policy for the new file based on the creating task's context. Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com> Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk> Cc: Ravikiran Thirumalai <kiran@scalex86.org> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Christoph Lameter <cl@linux-foundation.org> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/mempolicy.c')
-rw-r--r--mm/mempolicy.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index ac5aeafaec9a..0e1b293e4054 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2239,7 +2239,10 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
2239 if (IS_ERR(new)) 2239 if (IS_ERR(new))
2240 goto out; 2240 goto out;
2241 2241
2242 { 2242 if (no_context) {
2243 /* save for contextualization */
2244 new->w.user_nodemask = nodes;
2245 } else {
2243 int ret; 2246 int ret;
2244 NODEMASK_SCRATCH(scratch); 2247 NODEMASK_SCRATCH(scratch);
2245 if (scratch) { 2248 if (scratch) {
@@ -2255,10 +2258,6 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
2255 } 2258 }
2256 } 2259 }
2257 err = 0; 2260 err = 0;
2258 if (no_context) {
2259 /* save for contextualization */
2260 new->w.user_nodemask = nodes;
2261 }
2262 2261
2263out: 2262out:
2264 /* Restore string for error message */ 2263 /* Restore string for error message */