diff options
| -rwxr-xr-x | scripts/runqemu | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/scripts/runqemu b/scripts/runqemu index f275cf7813..729b067a9f 100755 --- a/scripts/runqemu +++ b/scripts/runqemu | |||
| @@ -1001,17 +1001,14 @@ class BaseConfig(object): | |||
| 1001 | else: | 1001 | else: |
| 1002 | self.nfs_server = '192.168.7.1' | 1002 | self.nfs_server = '192.168.7.1' |
| 1003 | 1003 | ||
| 1004 | # Figure out a new nfs_instance to allow multiple qemus running. | 1004 | nfsd_port = 3048 + self.nfs_instance |
| 1005 | ps = subprocess.check_output(("ps", "auxww")).decode('utf-8') | 1005 | lockdir = "/tmp/qemu-port-locks" |
| 1006 | pattern = '/bin/unfsd .* -i .*\.pid -e .*/exports([0-9]+) ' | 1006 | self.make_lock_dir(lockdir) |
| 1007 | all_instances = re.findall(pattern, ps, re.M) | 1007 | while not self.check_free_port('localhost', nfsd_port, lockdir): |
| 1008 | if all_instances: | 1008 | self.nfs_instance += 1 |
| 1009 | all_instances.sort(key=int) | 1009 | nfsd_port += 1 |
| 1010 | self.nfs_instance = int(all_instances.pop()) + 1 | ||
| 1011 | |||
| 1012 | nfsd_port = 3049 + 2 * self.nfs_instance | ||
| 1013 | mountd_port = 3048 + 2 * self.nfs_instance | ||
| 1014 | 1010 | ||
| 1011 | mountd_port = nfsd_port | ||
| 1015 | # Export vars for runqemu-export-rootfs | 1012 | # Export vars for runqemu-export-rootfs |
| 1016 | export_dict = { | 1013 | export_dict = { |
| 1017 | 'NFS_INSTANCE': self.nfs_instance, | 1014 | 'NFS_INSTANCE': self.nfs_instance, |
| @@ -1542,13 +1539,13 @@ class BaseConfig(object): | |||
| 1542 | logger.debug('Running %s' % str(cmd)) | 1539 | logger.debug('Running %s' % str(cmd)) |
| 1543 | subprocess.check_call(cmd) | 1540 | subprocess.check_call(cmd) |
| 1544 | self.release_taplock() | 1541 | self.release_taplock() |
| 1545 | self.release_portlock() | ||
| 1546 | 1542 | ||
| 1547 | if self.nfs_running: | 1543 | if self.nfs_running: |
| 1548 | logger.info("Shutting down the userspace NFS server...") | 1544 | logger.info("Shutting down the userspace NFS server...") |
| 1549 | cmd = ("runqemu-export-rootfs", "stop", self.rootfs) | 1545 | cmd = ("runqemu-export-rootfs", "stop", self.rootfs) |
| 1550 | logger.debug('Running %s' % str(cmd)) | 1546 | logger.debug('Running %s' % str(cmd)) |
| 1551 | subprocess.check_call(cmd) | 1547 | subprocess.check_call(cmd) |
| 1548 | self.release_portlock() | ||
| 1552 | 1549 | ||
| 1553 | if self.saved_stty: | 1550 | if self.saved_stty: |
| 1554 | subprocess.check_call(("stty", self.saved_stty)) | 1551 | subprocess.check_call(("stty", self.saved_stty)) |
