|
From: | Cong Meng |
Subject: | Re: [Qemu-devel] [PATCH 1/2 v1] blkdrv: Add queue limits parameters for sg block drive |
Date: | Tue, 21 Aug 2012 17:41:06 +0800 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:14.0) Gecko/20120714 Thunderbird/14.0 |
On Tue 21 Aug 2012 04:48:17 PM CST, Paolo Bonzini wrote:
what do you mean with "block devices"? Using "/dev/sda" instead of "/dev/sg0"?Il 21/08/2012 10:23, Cong Meng ha scritto:+static void sg_get_queue_limits(BlockDriverState *bs, const char *filename) +{ + DIR *ffs; + struct dirent *d; + char path[MAXPATHLEN]; + + snprintf(path, MAXPATHLEN, + "/sys/class/scsi_generic/sg%s/device/block/", + filename + strlen("/dev/sg")); + + ffs = opendir(path); + if (!ffs) { + return; + } + + for (;;) { + d = readdir(ffs); + if (!d) { + return; + } + + if (strcmp(d->d_name, ".") == 0 || strcmp(d->d_name, "..") == 0) { + continue; + } + + break; + } + + closedir(ffs); + + pstrcat(path, MAXPATHLEN, d->d_name); + pstrcat(path, MAXPATHLEN, "/queue/"); + + read_queue_limit(path, "max_sectors_kb", &bs->max_sectors); + read_queue_limit(path, "max_segments", &bs->max_segments); + read_queue_limit(path, "max_segment_size", &bs->max_segment_size); +}Using /sys/dev/block or /sys/dev/char seems easier, and lets you retrieve the parameters for block devices too.
I know little about qemu migration now. The pending scsi commands will be saved andHowever, I'm worried of the consequences this has for migration. You could have the same physical disk accessed with two different HBAs, with different limits. So I don't know if this can really be solved at all.
transfered to remote machine when starting migration? Cong.
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |