From: "Hervé Poussineau" <hpoussin@reactos.org>
To: qemu-devel@nongnu.org
Cc: "Kevin Wolf" <kwolf@redhat.com>, "Max Reitz" <mreitz@redhat.com>,
qemu-block@nongnu.org, "Hervé Poussineau" <hpoussin@reactos.org>
Subject: [Qemu-devel] [PATCH v2 06/13] vvfat: fix field names in FAT12/FAT16 and FAT32 boot sectors
Date: Mon, 22 May 2017 23:11:58 +0200 [thread overview]
Message-ID: <20170522211205.14265-7-hpoussin@reactos.org> (raw)
In-Reply-To: <20170522211205.14265-1-hpoussin@reactos.org>
Specification: "FAT: General overview of on-disk format" v1.03, pages 11-13
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
---
block/vvfat.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/block/vvfat.c b/block/vvfat.c
index e694d82df4..c1034cdd1f 100644
--- a/block/vvfat.c
+++ b/block/vvfat.c
@@ -218,23 +218,30 @@ typedef struct bootsector_t {
union {
struct {
uint8_t drive_number;
- uint8_t current_head;
+ uint8_t reserved1;
uint8_t signature;
uint32_t id;
uint8_t volume_label[11];
+ uint8_t fat_type[8];
+ uint8_t ignored[0x1c0];
} QEMU_PACKED fat16;
struct {
uint32_t sectors_per_fat;
uint16_t flags;
uint8_t major,minor;
- uint32_t first_cluster_of_root_directory;
+ uint32_t first_cluster_of_root_dir;
uint16_t info_sector;
uint16_t backup_boot_sector;
- uint16_t ignored;
+ uint8_t reserved[12];
+ uint8_t drive_number;
+ uint8_t reserved1;
+ uint8_t signature;
+ uint32_t id;
+ uint8_t volume_label[11];
+ uint8_t fat_type[8];
+ uint8_t ignored[0x1a4];
} QEMU_PACKED fat32;
} u;
- uint8_t fat_type[8];
- uint8_t ignored[0x1c0];
uint8_t magic[2];
} QEMU_PACKED bootsector_t;
@@ -974,13 +981,13 @@ static int init_directories(BDRVVVFATState* s,
/* LATER TODO: if FAT32, this is wrong */
/* drive_number: fda=0, hda=0x80 */
bootsector->u.fat16.drive_number = s->offset_to_bootsector == 0 ? 0 : 0x80;
- bootsector->u.fat16.current_head=0;
bootsector->u.fat16.signature=0x29;
bootsector->u.fat16.id=cpu_to_le32(0xfabe1afd);
memcpy(bootsector->u.fat16.volume_label, s->volume_label,
sizeof(bootsector->u.fat16.volume_label));
- memcpy(bootsector->fat_type,(s->fat_type==12?"FAT12 ":s->fat_type==16?"FAT16 ":"FAT32 "),8);
+ memcpy(bootsector->u.fat16.fat_type,
+ s->fat_type == 12 ? "FAT12 " : "FAT16 ", 8);
bootsector->magic[0]=0x55; bootsector->magic[1]=0xaa;
return 0;
--
2.11.0
next prev parent reply other threads:[~2017-05-22 21:12 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-22 21:11 [Qemu-devel] [PATCH v2 00/13] vvfat: misc fixes for read-only mode Hervé Poussineau
2017-05-22 21:11 ` [Qemu-devel] [PATCH v2 01/13] vvfat: fix qemu-img map and qemu-img convert Hervé Poussineau
2017-05-22 21:17 ` [Qemu-devel] [Qemu-block] " Eric Blake
2017-05-22 21:11 ` [Qemu-devel] [PATCH v2 02/13] vvfat: replace tabs by 8 spaces Hervé Poussineau
2017-05-22 21:11 ` [Qemu-devel] [PATCH v2 03/13] vvfat: fix typos Hervé Poussineau
2017-05-22 21:11 ` [Qemu-devel] [PATCH v2 04/13] vvfat: rename useless enumeration values Hervé Poussineau
2017-05-22 21:11 ` [Qemu-devel] [PATCH v2 05/13] vvfat: introduce offset_to_bootsector, offset_to_fat and offset_to_root_dir Hervé Poussineau
2017-05-24 4:10 ` Philippe Mathieu-Daudé
2017-05-24 13:34 ` Eric Blake
2017-05-22 21:11 ` Hervé Poussineau [this message]
2017-05-22 21:11 ` [Qemu-devel] [PATCH v2 07/13] vvfat: always create . and .. entries at first and in that order Hervé Poussineau
2017-05-22 21:12 ` [Qemu-devel] [PATCH v2 08/13] vvfat: correctly create long names for non-ASCII filenames Hervé Poussineau
2017-05-22 21:12 ` [Qemu-devel] [PATCH v2 09/13] vvfat: correctly create base short " Hervé Poussineau
2017-05-24 4:17 ` Philippe Mathieu-Daudé
2017-05-24 5:43 ` Hervé Poussineau
2017-05-22 21:12 ` [Qemu-devel] [PATCH v2 10/13] vvfat: correctly generate numeric-tail of short file names Hervé Poussineau
2017-08-05 18:52 ` Pranith Kumar
2017-08-07 11:07 ` Eric Blake
2017-08-08 23:31 ` Pranith Kumar
2017-05-22 21:12 ` [Qemu-devel] [PATCH v2 11/13] vvfat: limit number of entries in root directory in FAT12/FAT16 Hervé Poussineau
2017-05-22 21:12 ` [Qemu-devel] [PATCH v2 12/13] vvfat: handle KANJI lead byte 0xe5 Hervé Poussineau
2017-05-24 4:20 ` Philippe Mathieu-Daudé
2017-05-22 21:12 ` [Qemu-devel] [PATCH v2 13/13] vvfat: change OEM name to 'MSWIN4.1' Hervé Poussineau
2017-05-23 4:23 ` Philippe Mathieu-Daudé
2017-05-23 19:41 ` Hervé Poussineau
2017-05-24 4:27 ` Philippe Mathieu-Daudé
2017-05-22 22:38 ` [Qemu-devel] [PATCH v2 00/13] vvfat: misc fixes for read-only mode no-reply
2017-07-03 16:50 ` Kevin Wolf
2017-07-06 5:27 ` Hervé Poussineau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170522211205.14265-7-hpoussin@reactos.org \
--to=hpoussin@reactos.org \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).