[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>
This commit is contained in:
Alasdair G Kergon 2006-02-01 03:04:52 -08:00 committed by Linus Torvalds
parent a4fc4717fc
commit dab6a42915

View file

@ -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;
}