dosfstools/dosfstools-mdraid-partition.patch

21 lines
1017 B
Diff

Index: src/mkdosfs.c
===================================================================
--- src/mkdosfs.c.orig
+++ src/mkdosfs.c
@@ -1763,10 +1763,11 @@ main (int argc, char **argv)
* this is a MO disk I introduce a -I (ignore) switch. -Joey
*/
if (!ignore_full_disk && (
- (statbuf.st_rdev & 0xff3f) == 0x0300 || /* hda, hdb */
- (statbuf.st_rdev & 0xff0f) == 0x0800 || /* sd */
- (statbuf.st_rdev & 0xff3f) == 0x0d00 || /* xd */
- (statbuf.st_rdev & 0xff3f) == 0x1600 ) /* hdc, hdd */
+ (statbuf.st_rdev & 0xfff3f) == 0x00300 ||
+ (major(statbuf.st_rdev) == 3 && (minor(statbuf.st_rdev) % 64) == 0) || /* hda, hdb */
+ (major(statbuf.st_rdev) == 8 && (minor(statbuf.st_rdev) % 16) == 0) || /* sd */
+ (major(statbuf.st_rdev) == 13 && (minor(statbuf.st_rdev) % 64) == 0) || /* xd */
+ (major(statbuf.st_rdev) == 22 && (minor(statbuf.st_rdev) % 64) == 0)) /* hdc, hdd */
)
die ("Device partition expected, not making filesystem on entire device '%s' (use -I to override)");