On Thursday 30 November 2017 00:21:26 Pali Rohár wrote: > On Monday 20 November 2017 12:12:56 Karel Zak wrote: > > 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=) > > Now I implemented changes for dosfstools project, pull request is there: > https://github.com/dosfstools/dosfstools/pull/73 > > Just waiting for the Andreas response... Seems... there is no activity since October in dosfstools github project. Andreas, I have no response from you, are OK? Just I would like to know if you are interested in changes and if I should prepare another patches for dosfstools. I just do not want to go coding and implement something which will be rejected... > Andy, you wanted some manpage update. I did it in this commit: > https://github.com/dosfstools/dosfstools/pull/73/commits/3f4f122b7ec8eeb4a0ae0db8e94b8829f51d1163 > Can you check if changes in manpage are OK? Andy, can you check that manpage update? -- Pali Rohár pali.rohar@gmail.com