From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=MVMVBC5uljb27bxhHT0Tk4xtod32qJ0PiijdKaMDLNE=; b=kA29Kk0jbpI/+6VtZjzmhQNoGBxRzpGCxOLZuBBWKU+Uhpu1EbJpea3Nk6T82hseeE m1I98OBAZI5JuNGZmtVsFlmD9DjhqrI+7uVUAh6EFKUO115VU0QboSKNjyKpck1fx2F/ IkCiiRARpDAQcw8707pfUNqw7z9sy1id0JonNcxBieQ/+OVIzWcke2gobRua1Mc/TqKz CFDp+dwSOa5hSy5xCYbYWd/0oX6ZCKScjr9xt7WjEufFpP7D/xLz6GZQJ61U3YAdAGU5 VOhJheayP/8kc9qyh5I14MgklfG3lXQpElL0o7Sgj3NpXx0+gaUYsC8M0H6MFmobq7lP FLUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=MVMVBC5uljb27bxhHT0Tk4xtod32qJ0PiijdKaMDLNE=; b=Z+KQ+csoGX5+DQZCYssv/w8DK6r4YmA+TLqFWa4+lRSrF+rF03QDJs9bcHbl0hv8Rg REMn3o+LzUu97y9M4Ipibl9oixMX5yRP4tESBILCNCGvNrUiAsiv6DI8K6zNGjgNt5fc 6xAkpPblZREx0NPOcfCQvx1cBB4ACpbZUHowvDZiqNADlAac2YFCgwdrSKCQXoDGtPeA zeThfvmyGhqAUOtfJASpuLvyJ6GWH32MSu56e3C4PJIT4pIgnnJ6yECylpLyoieHiZrX 2wbXun1jqoQIWJ2r4SfeX4x7CqOqeNM1a9X1zEaw4TlHYWs1MTXjmcaiNxUqXsYtal7S gjQQ== X-Gm-Message-State: AOAM5336y2BOMdND3jTaBTKl19Uu+QcOKE3AJJcwuEhmG/o2+bcAUtES aemSHa13tKr9Z1u3l4yS1620CVHv2J0= X-Google-Smtp-Source: ABdhPJwqyzGqzXhBdK0IDk018LklG7xjKU05HRwrtE6ZgIXXv0EMd6uIuZAQw9TR8i8r+t5m6tDkCQ== X-Received: by 2002:a2e:9148:: with SMTP id q8mr539960ljg.356.1617760276311; Tue, 06 Apr 2021 18:51:16 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <20210406082842.pg3rejmmnxuxvddf@example.org> From: Leonid Krivoshein Message-ID: Date: Wed, 7 Apr 2021 04:51:15 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20210406082842.pg3rejmmnxuxvddf@example.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [make-initrd] Fwd: [#269003] TESTED make-initrd.git=2.14.1-alt1 X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Apr 2021 01:51:18 -0000 Archived-At: List-Archive: 06.04.2021 11:28, Alexey Gladkov пишет: > Это сразу наложит ограничение на использование запятой в аргументе. А она > уже используется как разделитель например в опциях монтирования. Недавно я > предлагал вариант передачи дополнительных параметров монтирования: > > pipeline=waitdev,mountfs \ > waitdev=/dev/sda \ > mountfs=/dev/sda:nodev,noexec,mode=620 > > Я на нём не настаиваю, но как будет выглядеть тоже самое в твоём > синтаксисе ? Вроде как есть два варианта реализации, я склоняюсь ко второму: 1. Использовать register_pipe с разделителем "|" вместо register_string для pipeline=... или парсить токены не по запятым, а по "|", тогда проблемы с запятыми и двоеточиями отпадают: pipeline=waitdev=/dev/sda|mountfs=/dev/sda:nodev,noexec,mode=620 2. Сохранить полностью нынешний синтаксис, добавив в него возможность в простых случаях (где в значении отсутствуют запятые и двоеточия) использовать символ "=" для отделения имени шага от его параметров, разделяемых символом ":" или ";": pipeline=waitdev=/dev/sda,mountfs mountfs=/dev/sda:nodev,noexec,mode=620 Первый вариант решает сразу много проблем, но создаёт проблему совместимости (которой, впрочем, можно пренебречь), а также создаёт не всегда интуитивно соответствующее восприятие происходящего, поскольку запятые отражают последовательность запускаемых шагов (их перечисление), тогда как "|" показывает кто-кому передаёт сделанное, а это, как мы выяснили, не всегда будет соответствовать написанному. Второй вариант кажется хорошим компромиссом для экономии байтов в /proc/cmdline и не ломает совместимость. В приведённом выше примере экономия небольшая, но на больших реальных цепочках она будет ощутимей, например: pipeline=waitdev=/dev/sda,mountfs=:/root,ram=/root/rescue,mountfs=:,live=rw,rootfs vs pipeline=waitdev,mountfs,ram,mountfs,live,rootfs waitdev=/dev/sda mountfs=:/root ram=/root/rescue mountfs=: live=rw -- Best regards, Leonid Krivoshein.