qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 304636] Re: -hda FAT:. limited to 504MBytes


From: Thomas Huth
Subject: [Bug 304636] Re: -hda FAT:. limited to 504MBytes
Date: Tue, 20 Apr 2021 16:00:59 -0000

** Tags added: block

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/304636

Title:
  -hda FAT:. limited to 504MBytes

Status in QEMU:
  Confirmed
Status in qemu package in Ubuntu:
  Won't Fix

Bug description:
  Binary package hint: qemu

  The size of the virtual FAT file system (for sharing a particular directory 
with Guest OS) is hard-coded to be limited to 504MBytes, in block-vvfat.c
  --
  /* 504MB disk*/
  bs->cyls=1024; bs->heads=16; bs->secs=63;
  --

  If the directory contents exceeds this is stops with an assert
  --
  qemu: block-vvfat.c:97: array_get: Assertion `index < array->next' failed.
  Aborted
  --

  Also the FAT16 mode (default) only uses 8KByte cluster sizes which prevents 
the above being increased. 16KByte and 32KByte sectors can be selected with the 
following patch
  --
  --- block-vvfat.c_orig  2008-12-02 12:37:28.000000000 -0700
  +++ block-vvfat.c       2008-12-02 19:50:35.000000000 -0700
  @@ -1042,6 +1042,12 @@
          s->fat_type = 32;
       } else if (strstr(dirname, ":16:")) {
          s->fat_type = 16;
  +    } else if (strstr(dirname, ":16-16K:")) {
  +       s->fat_type = 16;
  +       s->sectors_per_cluster=0x20;
  +    } else if (strstr(dirname, ":16-32K:")) {
  +       s->fat_type = 16;
  +       s->sectors_per_cluster=0x40;
       } else if (strstr(dirname, ":12:")) {
          s->fat_type = 12;
          s->sector_count=2880;
  --

  Cheers,
  Mungewell

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/304636/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]