[Bug 1569576] Re: mkfs.vfat exits zero on fatal warning
Ryan Harper
1569576 at bugs.launchpad.net
Thu Apr 14 19:33:24 UTC 2016
** Description changed:
1. $ lsb_release -rd
Description: Ubuntu Xenial Xerus (development branch)
Release: 16.04
2. $ apt-cache policy dosfstools
dosfstools:
- Installed: 3.0.28-2
- Candidate: 3.0.28-2
- Version table:
- *** 3.0.28-2 500
- 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
- 100 /var/lib/dpkg/status
+ Installed: 3.0.28-2
+ Candidate: 3.0.28-2
+ Version table:
+ *** 3.0.28-2 500
+ 500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
+ 100 /var/lib/dpkg/status
3. mkfs.vfat should exit with non-zero value if it cannot create enough
clusters on the target device. This is fatal to compliant FAT
filesystem parsers since cluster count is the *only* way to determine
the FAT type (12, 16, 32).
$ sudo mkfs.vfat -S 4096 -F 32 /dev/vda1; echo ?
sudo: unable to resolve host ubuntu
mkfs.fat 3.0.28 (2015-05-16)
WARNING: Not enough clusters for a 32 bit FAT!
1
4. $ sudo mkfs.vfat -S 4096 -F 32 /dev/vda1; echo $?
sudo: unable to resolve host ubuntu
mkfs.fat 3.0.28 (2015-05-16)
WARNING: Not enough clusters for a 32 bit FAT!
0
Tools calling mkfs.vfat expect the tool to return non-zero values when it encounters and error.
Making a FAT32 filesystem on a device that is not big enough means that FAT parsers will fail to
recognize the device. In particular, UEFI expects a FAT32 partition and will fail to read the boot partition
if it's not formatted properly (ie, not big enough for 65526 clusters[A]).
mkfs.vfat defaults to 8 sectors per cluster, for 4k disks, we set sector size to 4k, which means
for -F 32, we have 65526 clusters * 8 * 4096 wihich is just under 2G, meaning to avoid the warning/error
-F 32 requires either a lower sectors per cluster, or a larger target device.
-
-
- 1. https://staff.washington.edu/dittrich/misc/fatgen103.pdf [Page 15]
+ A. https://staff.washington.edu/dittrich/misc/fatgen103.pdf [Page 15]
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: dosfstools 3.0.28-2
ProcVersionSignature: User Name 4.4.0-18.34-generic 4.4.6
Uname: Linux 4.4.0-18-generic x86_64
ApportVersion: 2.20.1-0ubuntu1
Architecture: amd64
Date: Tue Apr 12 20:10:06 2016
Dependencies:
- gcc-6-base 6-20160405-0ubuntu2
- libc6 2.23-0ubuntu2
- libgcc1 1:6-20160405-0ubuntu2
+ gcc-6-base 6-20160405-0ubuntu2
+ libc6 2.23-0ubuntu2
+ libgcc1 1:6-20160405-0ubuntu2
ProcEnviron:
- TERM=xterm
- PATH=(custom, no user)
- XDG_RUNTIME_DIR=<set>
- LANG=en_US.UTF-8
- SHELL=/bin/bash
+ TERM=xterm
+ PATH=(custom, no user)
+ XDG_RUNTIME_DIR=<set>
+ LANG=en_US.UTF-8
+ SHELL=/bin/bash
SourcePackage: dosfstools
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dosfstools in Ubuntu.
https://bugs.launchpad.net/bugs/1569576
Title:
mkfs.vfat exits zero on fatal warning
Status in dosfstools package in Ubuntu:
New
Bug description:
1. $ lsb_release -rd
Description: Ubuntu Xenial Xerus (development branch)
Release: 16.04
2. $ apt-cache policy dosfstools
dosfstools:
Installed: 3.0.28-2
Candidate: 3.0.28-2
Version table:
*** 3.0.28-2 500
500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
3. mkfs.vfat should exit with non-zero value if it cannot create
enough clusters on the target device. This is fatal to compliant FAT
filesystem parsers since cluster count is the *only* way to determine
the FAT type (12, 16, 32).
$ sudo mkfs.vfat -S 4096 -F 32 /dev/vda1; echo ?
sudo: unable to resolve host ubuntu
mkfs.fat 3.0.28 (2015-05-16)
WARNING: Not enough clusters for a 32 bit FAT!
1
4. $ sudo mkfs.vfat -S 4096 -F 32 /dev/vda1; echo $?
sudo: unable to resolve host ubuntu
mkfs.fat 3.0.28 (2015-05-16)
WARNING: Not enough clusters for a 32 bit FAT!
0
Tools calling mkfs.vfat expect the tool to return non-zero values when it encounters and error.
Making a FAT32 filesystem on a device that is not big enough means that FAT parsers will fail to
recognize the device. In particular, UEFI expects a FAT32 partition and will fail to read the boot partition
if it's not formatted properly (ie, not big enough for 65526 clusters[A]).
mkfs.vfat defaults to 8 sectors per cluster, for 4k disks, we set sector size to 4k, which means
for -F 32, we have 65526 clusters * 8 * 4096 wihich is just under 2G, meaning to avoid the warning/error
-F 32 requires either a lower sectors per cluster, or a larger target device.
A. https://staff.washington.edu/dittrich/misc/fatgen103.pdf [Page 15]
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: dosfstools 3.0.28-2
ProcVersionSignature: User Name 4.4.0-18.34-generic 4.4.6
Uname: Linux 4.4.0-18-generic x86_64
ApportVersion: 2.20.1-0ubuntu1
Architecture: amd64
Date: Tue Apr 12 20:10:06 2016
Dependencies:
gcc-6-base 6-20160405-0ubuntu2
libc6 2.23-0ubuntu2
libgcc1 1:6-20160405-0ubuntu2
ProcEnviron:
TERM=xterm
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: dosfstools
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dosfstools/+bug/1569576/+subscriptions
More information about the foundations-bugs
mailing list