Hello Olya, Wednesday, August 10, 2005, 10:12:40 PM, you wrote:
[] OB> Повторю суть проблемы, чтобы устранить возможные недоразумения. OB> При монтировании isofs с опцией session игнорируются (не выполняются и, OB> похоже, не разбираются вовсе) все опции, которые в списке следуют за OB> ней. Сама session при этом выполняется правильно. OB> То же самое для iocharset. OB> С sbsector проблем нет. Посмотрев на функцию разбора параметров и немного поэкпериментировав, выяснил, что проблему можно решить двумя способами, с игнорированием неправильных параметров или выходом после неправильного параметра простой патч вот: --- ./inode-old.c 2005-05-19 13:29:39.000000000 +0300 +++ ./inode-new.c 2005-08-11 11:55:12.000000000 +0300 @@ -340,13 +340,13 @@ else if (!strcmp(value,"acorn")) popt->map = 'a'; else return 0; } - if (!strcmp(this_char,"session") && value) { + else if (!strcmp(this_char,"session") && value) { char * vpnt = value; unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0); if(ivalue < 0 || ivalue >99) return 0; popt->session=ivalue+1; } - if (!strcmp(this_char,"sbsector") && value) { + else if (!strcmp(this_char,"sbsector") && value) { char * vpnt = value; unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0); if(ivalue < 0 || ivalue >660*512) return 0; OB> (Похожим образом mount молча игнорирует остаток опций, если встретилась OB> одна неправильная. Это, наверное, считается фичей, хоть и очень сбивает OB> с толку, но тут-то опция правильная и сама по себе вполне работает.) Видимо код разбирающий параметры аналогичный :( Патчи для версии ядра 2.4.27-10 и небольшая тестовая программка с помощью которой можно посмотреть как разбираются параметры (в командной строке передается строка параметров которая идет после -o), в аттаче, если интересно. -- Best regards, Alexander
tests.tar.gz
Description: GNU Zip compressed data