summaryrefslogtreecommitdiffstats
path: root/Detail.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2008-10-30 16:37:29 +1100
committerNeilBrown <neilb@suse.de>2008-10-30 16:37:29 +1100
commit4ebd3237119b1c1d701ea0c94795631883e449ed (patch)
tree1d8a361a908f5801cced4616a62e544b84be8d69 /Detail.c
parent7b403fef7e97c16e1eb63773a278eb65c6dfd9a8 (diff)
downloadmdadm-4ebd3237119b1c1d701ea0c94795631883e449ed.tar.gz
mdadm-4ebd3237119b1c1d701ea0c94795631883e449ed.tar.xz
mdadm-4ebd3237119b1c1d701ea0c94795631883e449ed.zip
Adjust major number testing to allow for extended minor number in 2.6.28
From 2.6.28, normal md device will be able to have partitions. These partitions will have a different major number. Sometimes mdadm tests the major number and so can get confused. Change these tests to test against get_mdp_major(). mdp does not use extended minor number and so this test will always be accurate. Also use /sys/dev links to map major/minor to devnum in sysfs. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Detail.c')
-rw-r--r--Detail.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Detail.c b/Detail.c
index 9ba8af1..3cee66f 100644
--- a/Detail.c
+++ b/Detail.c
@@ -169,7 +169,7 @@ int Detail(char *dev, int brief, int export, int test, char *homehost)
struct mdstat_ent *ms = mdstat_read(0, 0);
struct mdstat_ent *e;
int devnum = array.md_minor;
- if (major(stb.st_rdev) != MD_MAJOR)
+ if (major(stb.st_rdev) == get_mdp_major())
devnum = -1 - devnum;
for (e=ms; e; e=e->next)