Applying Suses dosfstools-2.11_determine-sector-size.patch from Petr

Gajdos <pgajdos@suse.cz> to determine mkdosfs sector size automatically:

  * determine sector size of device automatically or if -S parameter
    present, verify, that it's not under physical sector size

Signed-off-by: Daniel Baumann <mail@daniel-baumann.ch>
This commit is contained in:
Daniel Baumann 2008-09-26 14:30:31 +02:00
parent fc92e197f8
commit 4371588cfa

View File

@ -1424,6 +1424,7 @@ main (int argc, char **argv)
int i = 0, pos, ch;
int create = 0;
unsigned long long cblocks;
int min_sector_size;
if (argc && *argv) { /* What's the program name? */
char *p;
@ -1718,6 +1719,24 @@ main (int argc, char **argv)
)
die ("Will not try to make filesystem on full-disk device '%s' (use -I if wanted)");
if (sector_size_set)
{
if (ioctl(dev, BLKSSZGET, &min_sector_size) >= 0)
if (sector_size < min_sector_size)
{
sector_size = min_sector_size;
fprintf(stderr, "Warning: sector size was set to %d (minimal for this device)\n", sector_size);
}
}
else
{
if (ioctl(dev, BLKSSZGET, &min_sector_size) >= 0)
{
sector_size = min_sector_size;
sector_size_set = 1;
}
}
establish_params (statbuf.st_rdev,statbuf.st_size);
/* Establish the media parameters */