[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:
parent
a4fc4717fc
commit
dab6a42915
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue