On Monday August 28, akpm@xxxxxxxx wrote: > On Tue, 29 Aug 2006 15:39:24 +1000 > NeilBrown <neilb@xxxxxxx> wrote: > > > > > Each backing_dev needs to be able to report whether it is congested, > > either by modulating BDI_*_congested in ->state, or by > > defining a ->congested_fn. > > md/raid did neither of these. This patch add a congested_fn > > which simply checks all component devices to see if they are > > congested. > > > > Signed-off-by: Neil Brown <neilb@xxxxxxx> > > > > +static int linear_congested(void *data, int bits) > > +{ > > + mddev_t *mddev = data; > > + linear_conf_t *conf = mddev_to_conf(mddev); > > + int i, ret = 0; > > + > > + for (i = 0; i < mddev->raid_disks && !ret ; i++) { > > + request_queue_t *q = bdev_get_queue(conf->disks[i].rdev->bdev); > > + ret |= bdi_congested(&q->backing_dev_info, bits); > > nit: `ret = ' would suffice here. > Yeh.... I was looking at linear_issue_flush, which aborts when ret == 0, and dm_table_any_congested, which 'or's together the results and combining to two. And I kept changing my mind as to which way I wanted to go for linear_congested et.al, and ended up going both ways :-( I hate indecision. I think. Well, probably I do. Maybe. NeilBrown -- VGER BF report: U 0.5 - To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html