diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2007-04-04 19:08:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-04 21:12:47 -0700 |
commit | 2363cc0264c42636e9e7622f78dde5c2f66beb8e (patch) | |
tree | 33136de9f38ad6cfc7ce9b6d4d10f1227239a05b | |
parent | c75fd0ee6e1750e6e527ed1d4aeee66739d9ad79 (diff) | |
download | linux-3.10-2363cc0264c42636e9e7622f78dde5c2f66beb8e.tar.gz linux-3.10-2363cc0264c42636e9e7622f78dde5c2f66beb8e.tar.bz2 linux-3.10-2363cc0264c42636e9e7622f78dde5c2f66beb8e.zip |
[PATCH] remove protection of LANANA-reserved majors
Revert all this. It can cause device-mapper to receive a different major from
earlier kernels and it turns out that the Amanda backup program (via GNU tar,
apparently) checks major numbers on files when performing incremental backups.
Which is a bit broken of Amanda (or tar), but this feature isn't important
enough to justify the churn.
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | block/genhd.c | 2 | ||||
-rw-r--r-- | drivers/base/core.c | 14 | ||||
-rw-r--r-- | fs/char_dev.c | 2 | ||||
-rw-r--r-- | include/linux/kdev_t.h | 2 |
4 files changed, 0 insertions, 20 deletions
diff --git a/block/genhd.c b/block/genhd.c index 050a1f0f3a8..441432a142f 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -62,8 +62,6 @@ int register_blkdev(unsigned int major, const char *name) /* temporary */ if (major == 0) { for (index = ARRAY_SIZE(major_names)-1; index > 0; index--) { - if (is_lanana_major(index)) - continue; if (major_names[index] == NULL) break; } diff --git a/drivers/base/core.c b/drivers/base/core.c index ad0f4a2f25c..d7fcf823a42 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -28,20 +28,6 @@ int (*platform_notify)(struct device * dev) = NULL; int (*platform_notify_remove)(struct device * dev) = NULL; /* - * Detect the LANANA-assigned LOCAL/EXPERIMENTAL majors - */ -bool is_lanana_major(unsigned int major) -{ - if (major >= 60 && major <= 63) - return 1; - if (major >= 120 && major <= 127) - return 1; - if (major >= 240 && major <= 254) - return 1; - return 0; -} - -/* * sysfs bindings for devices. */ diff --git a/fs/char_dev.c b/fs/char_dev.c index 78ced721554..164a45cdaf5 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -109,8 +109,6 @@ __register_chrdev_region(unsigned int major, unsigned int baseminor, /* temporary */ if (major == 0) { for (i = ARRAY_SIZE(chrdevs)-1; i > 0; i--) { - if (is_lanana_major(i)) - continue; if (chrdevs[i] == NULL) break; } diff --git a/include/linux/kdev_t.h b/include/linux/kdev_t.h index 4c2c3737e41..2dacab8becc 100644 --- a/include/linux/kdev_t.h +++ b/include/linux/kdev_t.h @@ -87,8 +87,6 @@ static inline unsigned sysv_minor(u32 dev) return dev & 0x3ffff; } -bool is_lanana_major(unsigned int major); - #else /* __KERNEL__ */ /* |