[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171120111256.zqvmpzdcf6ncyi5m@ws.net.home>
Date: Mon, 20 Nov 2017 12:12:56 +0100
From: Karel Zak <kzak@...hat.com>
To: Pali Rohár <pali.rohar@...il.com>
Cc: Andreas Bombe <aeb@...ian.org>, util-linux@...r.kernel.org,
linux-kernel@...r.kernel.org,
Andrius Štikonas <andrius@...konas.eu>,
Curtis Gedak <gedakc@...il.com>,
Andy Shevchenko <andy.shevchenko@...il.com>,
Pavel Machek <pavel@....cz>
Subject: Re: Linux & FAT32 label
On Sun, Nov 19, 2017 at 01:44:40PM +0100, Pali Rohár wrote:
> On Thursday 09 November 2017 22:21:31 Pali Rohár wrote:
> > So from all tests and discussion I would propose new unification:
> >
> > 1. Read label only from the root directory. If label in root directory
> > is missing then disk would be treated as without label. Label from
> > boot sector would not be read.
> >
> > --> Reason: Windows XP and mlabel ignores what is written in boot
> > sector. Windows XP even do not update boot sector, so label
> > stored in boot sector is incorrect after any change done by
> > Windows XP.
> >
> > This logic is used by all tested MS-DOS and Windows versions,
> > plus also by mtools on Linux.
> >
> > 2. Write label to to both location, boot sector and root directory.
> >
> > --> Reason: MS-DOS 6.22, MS-DOS 7.10, Windows 98 and also mtools on
> > Linux do this. This is also what is written in FAT specification.
> >
> > It also provides backward compatibility with old dosfslabel
> > versions which read label only from boot sector.
> >
> > 2. Process 'NO NAME ' label in root directory as 'NO NAME' name. Not
> > as empty label.
> >
> > --> Reason: 'NO NAME ' is regular entry in root directory and both
> > Windows XP and mlabel handle it in this way.
> >
> > 3. Process 'NO NAME ' label in boot directory as empty label. Not as
> > label with name 'NO NAME'.
> >
> > --> Reason: On Windows XP when formatting empty disk and label is not
> > specified then 'NO NAME ' is stored to boot sector.
> >
> > Also in FAT specification is written that empty label is stored
> > as 'NO NAME '.
> >
> > With this change we would get compatibility with MS-DOS, Windows (both
> > DOS-based and NT-based) and also with Linux mtools, modulo problems DOS
> > code page.
> >
> > There are just two negatives:
> >
> > 1) Labels set by old dosfslabel versions (which stored them only to boot
> > sector) would not be visible. But they are already not visible on
> > MS-DOS or Windows machines, and also via mlabel (from mtools).
> >
> > 2) Behavior of blkid and fatlabel would be changed as both tools have
> > different as proposed above, and based on tests they also differ each
> > from other.
> >
> > Andreas, Karel, what do you think about it?
>
> Also for other people, do any have comments on my proposed solution?
Go ahead and send patch :-) (also with LABEL_FATBOOT=)
Karel
--
Karel Zak <kzak@...hat.com>
http://karelzak.blogspot.com
Powered by blists - more mailing lists