/[smeserver]/rpms/anaconda/sme7/smeserver-degraded-raid.patch
ViewVC logotype

Annotation of /rpms/anaconda/sme7/smeserver-degraded-raid.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Tue Jun 12 14:39:15 2007 UTC (17 years ago) by slords
Branch: MAIN
CVS Tags: anaconda-10_1_1_63-4_centos4_1_el4_sme
Import on branch sme7 of package anaconda-10.1.1.63-4.centos4.1.el4.sme.src.rpm

1 slords 1.1 diff -Nur -x '*.orig' -x '*.rej' anaconda-10.1.1.37/fsset.py mezzanine_patched_anaconda-10.1.1.37/fsset.py
2     --- anaconda-10.1.1.37/fsset.py 2006-02-02 07:03:36.000000000 +1100
3     +++ mezzanine_patched_anaconda-10.1.1.37/fsset.py 2006-04-06 05:19:55.336561737 +1000
4     @@ -1231,6 +1231,7 @@
5    
6     if bootDev.getName() == "RAIDDevice":
7     ret['boot'] = (bootDev.device, N_("RAID Device"))
8     + ret['mbr'] = (bl.drivelist[0], N_("Master Boot Record (MBR)"))
9     return ret
10    
11     if iutil.getPPCMacGen() == "NewWorld":
12     @@ -1889,11 +1890,20 @@
13     self.minor)
14    
15     def raidTab (self, devPrefix='/dev'):
16     + if self.level == 1:
17     + nDisks = max(2, self.numDisks)
18     + elif self.level == 5:
19     + nDisks = max(3, self.numDisks)
20     + elif self.level == 6:
21     + nDisks = max(4, self.numDisks)
22     + else:
23     + nDisks = self.numDisks
24     +
25     entry = ""
26     entry = entry + "raiddev %s/%s\n" % (devPrefix,
27     self.device,)
28     entry = entry + "raid-level %d\n" % (self.level,)
29     - entry = entry + "nr-raid-disks %d\n" % (self.numDisks,)
30     + entry = entry + "nr-raid-disks %d\n" % (nDisks,)
31     entry = entry + "chunk-size %s\n" %(self.chunksize,)
32     entry = entry + "persistent-superblock 1\n"
33     entry = entry + "nr-spare-disks %d\n" % (self.spares,)
34     @@ -1903,6 +1913,10 @@
35     device)
36     entry = entry + " raid-disk %d\n" % (i,)
37     i = i + 1
38     + while i < nDisks:
39     + entry = entry + " device dev/null\n"
40     + entry = entry + " failed-disk %d\n" % (i,)
41     + i = i + 1
42     i = 0
43     for device in self.members[self.numDisks:]:
44     entry = entry + " device %s/%s\n" % (devPrefix,
45     @@ -1915,6 +1929,15 @@
46     def devify(x):
47     return "/dev/%s" %(x,)
48    
49     + if self.level == 1:
50     + nDisks = max(2, self.numDisks)
51     + elif self.level == 5:
52     + nDisks = max(3, self.numDisks)
53     + elif self.level == 6:
54     + nDisks = max(4, self.numDisks)
55     + else:
56     + nDisks = self.numDisks
57     +
58     node = "%s/%s" % (devPrefix, self.device)
59     isys.makeDevInode(self.device, node)
60    
61     @@ -1926,12 +1949,18 @@
62     args = ["/usr/sbin/mdadm", "--create", "/dev/%s" %(self.device,),
63     "--run", "--chunk=%s" %(self.chunksize,),
64     "--level=%s" %(self.level,),
65     - "--raid-devices=%s" %(self.numDisks,)]
66     + "--raid-devices=%s" %(nDisks,)]
67    
68     if self.spares > 0:
69     args.append("--spare-devices=%s" %(self.spares,),)
70    
71     args.extend(map(devify, self.members))
72     +
73     + i = 0
74     + while self.numDisks + i < nDisks:
75     + args.append("missing")
76     + i = i + 1
77     +
78     log("going to run: %s" %(args,))
79     iutil.execWithRedirect (args[0], args,
80     stderr="/dev/tty5", stdout="/dev/tty5")
81     diff -Nur -x '*.orig' -x '*.rej' anaconda-10.1.1.37/raid.py mezzanine_patched_anaconda-10.1.1.37/raid.py
82     --- anaconda-10.1.1.37/raid.py 2005-07-09 07:17:54.000000000 +1000
83     +++ mezzanine_patched_anaconda-10.1.1.37/raid.py 2006-04-06 05:16:30.660228950 +1000
84     @@ -90,7 +90,17 @@
85     raidList = []
86     for key in raidSets.keys():
87     (level, totalDisks, mdMinor, devices) = raidSets[key]
88     - if len(devices) < totalDisks:
89     + if len(devices) == totalDisks - 1 and level in (1, 5, 6):
90     + log("missing components of raid device md%d. The "
91     + "raid device needs %d drive(s) and only %d (was/were) found. "
92     + "This raid device will be started in degraded mode.", mdMinor,
93     + totalDisks, len(devices))
94     + elif len(devices) == totalDisks - 2 and level == 6:
95     + log("missing components of raid device md%d. The "
96     + "raid device needs %d drive(s) and only %d (was/were) found. "
97     + "This raid device will be started in degraded mode.", mdMinor,
98     + totalDisks, len(devices))
99     + elif len(devices) < totalDisks:
100     log("missing components of raid device md%d. The "
101     "raid device needs %d drive(s) and only %d (was/were) found. "
102     "This raid device will not be started.", mdMinor,
103     @@ -160,11 +170,11 @@
104     if isRaid0(raidlevel):
105     return 2
106     elif isRaid1(raidlevel):
107     - return 2
108     + return 1
109     elif isRaid5(raidlevel):
110     - return 3
111     + return 2
112     elif isRaid6(raidlevel):
113     - return 4
114     + return 2
115     else:
116     raise ValueError, "invalid raidlevel in get_raid_min_members"
117    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed