On Tue, Aug 15, 2006 at 12:11:35PM +0300, Valentin Nechayev wrote:
Именно это и значит: 'c' означает всё то пространство (ранее - только диск, сейчас может быть слайс, раздел GPT или вообще произвольный объект geom'а, например, софтовое зеркало) на котором заведен данный disklabel. В ядре сделана жёсткая связь что при индексе раздела 2 (соответствующем букве 'c') берётся весь объект целиком.
А что это значит в практическом применении? Кто и как использует раздел c? В чем отличие его использования от использования других разделов? (и еще см. дальше)
А то что "a" имеет отличный от "c" размер, когда весь диск отдан под один partition ("a"), наводит на мысль, и может отсюда и растет ситуация с записью за пределы диска.
Вряд ли. Сокращение 'a' по сравнению с 'c' на 16 секторов - стандартное поведение bsdlabel при выставлении начальной метки. Но ведь Паша не к /dev/md0a обращается, а к /dev/md0c...
Ну может дело в недоработке этого особенного treatment раздела c... А зачем нужно это смещение в 16 секторов?
В любом случае, мне кажется, это мясо для send-pr.
Я думаю что его никто не примет по следующим причинам:
- раздел 'c' принципиально не предназначен (и никогда не был) для монтирования чего-либо под ним или разделения его на части. Он предназначен исключительно для доступа к полному содержимому того контейнера в котором данный disklabel.
а для чего он предназначен? и если не предназначен для монтирования, почему никто не ругается на, например, newfs *c ?
- ситуация тривиально исправляется устранением использования 'c' и перехода напрямую к внешнему контейнеру (в обсуждаемом случае получится /dev/md0.bde)
да, но.. это вопрос устойчивости и юзабилити.. все таки лучше бы сразу отсекались попытки сделать что-то непредусмотренное, чем позволялись с тем чтобы потом система неспешно ругалась непонятными словами с непонятными последствиями (т.к. не понятно, в момент этого сообщения об ошибке, чем все таки заканчивается запись на диск - успехом или неуспехом).
"а шо тэпэр робити?...". Не иначе как backup&restore... похоже на то...
Собственно а зачем? /dev/md0c совпадал с /dev/md0. Если просто убрать disklabel то всей разницы будет несоздание /dev/md0a и /dev/md0c, а данные будут по тому же пути и никуда не денутся. Я не знаю как BDE находит свои описатели, но вполне вероятно что оно их найдёт в /dev/md0 и полетит дальше как ни в чём ни бывало:))
действительно :) достаточно сделать umount /dev/md0c.bde gbde detach /dev/md0c gbde attach /dev/md0 mount /dev/md0.bde ... =================================================================== uanog mailing list. To Unsubscribe: send mail to majordomo@uanog.kiev.ua with "unsubscribe uanog" in the body of the message