summaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorAlasdair G Kergon <agk@redhat.com>2006-02-01 12:04:52 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-01 17:53:10 +0100
commitdab6a42915554f70220e5a2ff55c59c749582c7b (patch)
treecd8c11b9d8c2c57cc36b1920d21f787bd8cdd83b /drivers/md
parent[PATCH] device-mapper log bitset: fix endian (diff)
downloadlinux-dab6a42915554f70220e5a2ff55c59c749582c7b.tar.xz
linux-dab6a42915554f70220e5a2ff55c59c749582c7b.zip
[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')
-rw-r--r--drivers/md/dm-ioctl.c14
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, &param);
- 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;
}