[PATCH 7/8] bio-cgroup: Add a cgroup support to dm-ioband

From: Ryo Tsuruta
Date: Wed Sep 24 2008 - 06:14:46 EST


With this patch, dm-ioband can work with the bio cgroup.

Based on 2.6.27-rc5-mm1
Signed-off-by: Ryo Tsuruta <ryov@xxxxxxxxxxxxx>
Signed-off-by: Hirokazu Takahashi <taka@xxxxxxxxxxxxx>

diff -Ndupr linux-2.6.27-rc5-mm1.cg2/drivers/md/dm-ioband-type.c linux-2.6.27-rc5-mm1.cg3/drivers/md/dm-ioband-type.c
--- linux-2.6.27-rc5-mm1.cg2/drivers/md/dm-ioband-type.c 2008-09-24 16:23:13.000000000 +0900
+++ linux-2.6.27-rc5-mm1.cg3/drivers/md/dm-ioband-type.c 2008-09-24 16:34:52.000000000 +0900
@@ -6,6 +6,7 @@
* This file is released under the GPL.
*/
#include <linux/bio.h>
+#include <linux/biocontrol.h>
#include "dm.h"
#include "dm-bio-list.h"
#include "dm-ioband.h"
@@ -53,13 +54,13 @@ static int ioband_node(struct bio *bio)

static int ioband_cgroup(struct bio *bio)
{
- /*
- * This function should return the ID of the cgroup which issued "bio".
- * The ID of the cgroup which the current process belongs to won't be
- * suitable ID for this purpose, since some BIOs will be handled by kernel
- * threads like aio or pdflush on behalf of the process requesting the BIOs.
- */
- return 0; /* not implemented yet */
+ struct io_context *ioc = get_bio_cgroup_iocontext(bio);
+ int id = 0;
+ if (ioc) {
+ id = ioc->id;
+ put_io_context(ioc);
+ }
+ return id;
}

struct group_type dm_ioband_group_type[] = {
--
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/