diff options
author | Lee Schermerhorn <lee.schermerhorn@hp.com> | 2010-05-24 17:32:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-25 11:06:57 -0400 |
commit | e17f74af351cce9a1bade7b33af179497fdf95cf (patch) | |
tree | 99cce009bf299465a3b20594305ee209c8d85c3d /mm/mempolicy.c | |
parent | 1980050250fa052b1c24a19f9b3d82fae14d77f8 (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.c | 9 |
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 | ||
2263 | out: | 2262 | out: |
2264 | /* Restore string for error message */ | 2263 | /* Restore string for error message */ |