diff options
author | Alasdair G Kergon <agk@redhat.com> | 2006-02-01 03:04:52 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-01 08:53:10 -0800 |
commit | dab6a42915554f70220e5a2ff55c59c749582c7b (patch) | |
tree | cd8c11b9d8c2c57cc36b1920d21f787bd8cdd83b /drivers/md/dm-ioctl.c | |
parent | a4fc4717fc55a3bcd3cfdafa285b7af164b83051 (diff) |
[PATCH] device-mapper ioctl: reduce PF_MEMALLOC usage
Reduce substantially the amount of code using PF_MEMALLOC, as envisaged in the
original FIXME.
If you're using lvm2, for this patch to work correctly you should update to
lvm2 version 2.02.01 or later and device-mapper version 1.02.02 or later.
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/dm-ioctl.c')
-rw-r--r-- | drivers/md/dm-ioctl.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index 1235135b384b..442e2be6052e 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c @@ -1359,16 +1359,11 @@ static int ctl_ioctl(struct inode *inode, struct file *file, * Copy the parameters into kernel space. */ r = copy_params(user, ¶m); - if (r) { - current->flags &= ~PF_MEMALLOC; - return r; - } - /* - * FIXME: eventually we will remove the PF_MEMALLOC flag - * here. However the tools still do nasty things like - * 'load' while a device is suspended. - */ + current->flags &= ~PF_MEMALLOC; + + if (r) + return r; r = validate_params(cmd, param); if (r) @@ -1386,7 +1381,6 @@ static int ctl_ioctl(struct inode *inode, struct file *file, out: free_params(param); - current->flags &= ~PF_MEMALLOC; return r; } |