[PATCH 3/9] device-mapper ioctl: reduce PF_MEMALLOC usage

From: Alasdair G Kergon
Date: Fri Jan 20 2006 - 16:12:39 EST


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@xxxxxxxxxx>

Index: linux-2.6.16-rc1/drivers/md/dm-ioctl.c
===================================================================
--- linux-2.6.16-rc1.orig/drivers/md/dm-ioctl.c
+++ linux-2.6.16-rc1/drivers/md/dm-ioctl.c
@@ -1359,16 +1359,11 @@ static int ctl_ioctl(struct inode *inode
* 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

out:
free_params(param);
- current->flags &= ~PF_MEMALLOC;
return r;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/