OSDN Git Service

Fix root directory creation: EOD entry was missing.
authorrelan <relan@users.noreply.github.com>
Thu, 31 Mar 2011 18:21:09 +0000 (18:21 +0000)
committerrelan <relan@users.noreply.github.com>
Mon, 24 Aug 2015 05:26:13 +0000 (08:26 +0300)
mkfs/rootdir.c

index bf24d99..28554f6 100644 (file)
@@ -34,12 +34,16 @@ off_t rootdir_size(void)
 
 int rootdir_write(off_t base, int fd)
 {
+       const struct exfat_entry eod_entry = {EXFAT_ENTRY_EOD};
+
        if (write(fd, &label_entry, sizeof(struct exfat_entry)) == -1)
                return 1;
        if (write(fd, &bitmap_entry, sizeof(struct exfat_entry)) == -1)
                return 1;
        if (write(fd, &upcase_entry, sizeof(struct exfat_entry)) == -1)
                return 1;
+       if (write(fd, &eod_entry, sizeof(struct exfat_entry)) == -1)
+               return 1;
 
        sb.rootdir_cluster = cpu_to_le32(OFFSET_TO_CLUSTER(base));
        return 0;