/[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.4 - (hide annotations) (download)
Fri Sep 12 03:55:39 2008 UTC (15 years, 9 months ago) by slords
Branch: MAIN
Changes since 1.3: +5 -5 lines
Update anaconda

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 slords 1.4 @@ -1340,6 +1340,7 @@
5 slords 1.1
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 slords 1.4 @@ -2002,11 +2003,20 @@
13 slords 1.1 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 slords 1.4 @@ -2016,6 +2026,10 @@
35 slords 1.1 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 slords 1.4 @@ -2028,6 +2042,15 @@
46 slords 1.1 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 slords 1.4 @@ -2039,12 +2062,18 @@
62 slords 1.1 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