История изменений
Исправление AS, (текущая версия) :
Так работают, как я уже говорил выше, все вменяемые контроллеры.
Давай так
d1 d2 d3 d4 d5
---------------
A1 A2 A3 A4 Ap - time1
B1 B2 B3 Bp B4 - time2
C1 C2 Cp C3 C4 - time3
D1 Dp D2 D3 D4 - time4
Ep E1 E2 E3 E4 - time5
Исходная версия AS, :
Так работают, как я уже говорил выше, все вменяемые контроллеры.
Давай так
d1 d2 d3 d4 d5
---------------
A1 A2 A3 A4 Ap - time1
B1 B2 B3 Bp B4 - time2
C1 C2 Cp C3 C4 - time3
D1 Dp D2 D3 D4 - time4
Ep E1 E2 E3 E4 - time5
Допустим, мы можем считать один чанк чужого страйпа. Вроде бы, мы что-то выигрываем. Но доступ к этим данным мы получаем только прочитав остальные три чанка страйпа. При расположении нужных данных в двух страйпах, как ни крути, мы вынуждены затратить time1+time2. Единственное, где мы тут можем получить выигрыш, это если данные расположены в пяти страйпах. Тогда мы можем попробовать чанки страйпа E считать за время чтения страйпов A, B, C и D. У mdadm, говорят, чанк по-умолчанию 512К. Соответственно, в описанном варианте говорить о выигрыше в чтении можно только для блока свыше 8 мегабайт (9-ый мегабайт пойдёт с страйп E как раз). Не находишь, что это заметный такой оверхед для большого количества ситуаций ?