diff options
author | Jens Axboe <jaxboe@fusionio.com> | 2010-06-21 12:40:53 +0200 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2010-06-21 12:40:53 +0200 |
commit | b8d541d5705ef74307277d541ca9153ab8844096 (patch) | |
tree | ca488655f48876bdb3305b6b7c9bd0df01d0962a /diskutil.c | |
parent | 90b97ac3bc4368b79300207c796bcfbb828d07b9 (diff) | |
download | fio-b8d541d5705ef74307277d541ca9153ab8844096.tar.gz |
Fix disk util for slaves
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'diskutil.c')
-rw-r--r-- | diskutil.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -24,6 +24,14 @@ static void disk_util_free(struct disk_util *du) if (du == last_du) last_du = NULL; + while (!flist_empty(&du->slaves)) { + struct disk_util *slave; + + slave = flist_entry(du->slaves.next, struct disk_util, slavelist); + flist_del(&slave->slavelist); + slave->users--; + } + fio_mutex_remove(du->lock); sfree(du->name); sfree(du); @@ -236,8 +244,10 @@ static void find_add_disk_slaves(struct thread_data *td, char *path, /* Should probably use an assert here. slavedu should * always be present at this point. */ - if (slavedu) + if (slavedu) { + slavedu->users++; flist_add_tail(&slavedu->slavelist, &masterdu->slaves); + } } closedir(dirhandle); |