vvfat fixes for 2.6.0-rc4
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQIcBAABAgAGBQJXIy7NAAoJEH8JsnLIjy/WZX0QAKPfirckacYwr2IJWgFQBru+ BNtZ1ZZLSzCmoLGv3XcU85/UtIlJhROi2cHcu3gtCOsR8MbRXL3gBX2z1Eiox0ew n3qODYpDE7rkJjIKg408Mk0kOYHilrXWQIQ0KSVLqFlQ5QtyEeH2fKCgVLqEOWzY n8zpRnt52OLgSIGMmBOAA/ZhMQflj/xN8gG6/nGdjAYtCNBJ+I1Ya+OKkMi45buC q25sslRiNr7cn6uDNYnd3V8ho6NFCiIa0UdIXdk4S+jabho14A/8jwjLyARQVdqG +iShd3m3LmMqPfV/Rf6bRhEptv0cDaWJF+xtUxcIhRn+4UWj3hNYPNuDyiNBY6eY F1QEI+2biEfEVSFCPNNeEkMpIweVxtijhirpI7SqK6XUtZluyoskWwOTiBqcO8lu qaquksaXoaVIdcq6J5hU1l2PBFKgVXTxHsFIJTZ9Ea2ZuF0JfrbYpWhdmtthEogG 95J1H5m7aHNK7TZMDGk9nXrtDSJ8KPpV8SDzhXIRe9huJE7Ur1bmeKNWaQ/zAcvs E9WeDh5xo0u8F/eTlIEh+aPvSmI30su0+mZROm3yUp2QVlwgya0zGI/F/yH9vqTs 4ZKyQVd2FC8T04YQBhqiBHqn3TaUKk67NsDoCY49av4Xr6OIZH5S7UFufH1bY33a aVUKQqBLOtShKmT4/Hw5 =m3pG -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging vvfat fixes for 2.6.0-rc4 # gpg: Signature made Fri 29 Apr 2016 10:52:13 BST using RSA key ID C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" * remotes/kevin/tags/for-upstream: vvfat: Fix default volume label vvfat: Fix volume name assertion Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
47dac82d8b
@ -1109,6 +1109,8 @@ static int vvfat_open(BlockDriverState *bs, QDict *options, int flags,
|
||||
goto fail;
|
||||
}
|
||||
memcpy(s->volume_label, label, label_length);
|
||||
} else {
|
||||
memcpy(s->volume_label, "QEMU VVFAT", 10);
|
||||
}
|
||||
|
||||
if (floppy) {
|
||||
@ -2283,12 +2285,17 @@ DLOG(fprintf(stderr, "commit_direntries for %s, parent_mapping_index %d\n", mapp
|
||||
factor * (old_cluster_count - new_cluster_count));
|
||||
|
||||
for (c = first_cluster; !fat_eof(s, c); c = modified_fat_get(s, c)) {
|
||||
direntry_t *first_direntry;
|
||||
void* direntry = array_get(&(s->directory), current_dir_index);
|
||||
int ret = vvfat_read(s->bs, cluster2sector(s, c), direntry,
|
||||
s->sectors_per_cluster);
|
||||
if (ret)
|
||||
return ret;
|
||||
assert(!strncmp(s->directory.pointer, "QEMU", 4));
|
||||
|
||||
/* The first directory entry on the filesystem is the volume name */
|
||||
first_direntry = (direntry_t*) s->directory.pointer;
|
||||
assert(!memcmp(first_direntry->name, s->volume_label, 11));
|
||||
|
||||
current_dir_index += factor;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user