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=T1iPoam8xLGKw7mWeF9y+bCSYVncBONpV6r4rTQcUEw=; b=iaRT3iqYG83jH4rbfnG/gmmwwfd4xlut5LFv4LlkomF7xQQdrsbPfhDKGeiOp4AuuK IoMBPYxCQHH1bIdJ63Chd2/TLq1vGcNJlO4QNZWJziywejBz1J4zI6wUb1qqnmhKm2Vg AktO0IqQ0RmMqpucXhgfvJlQcJOzWXBjdUhqr/TkuwD29OflhY/uZh1QA+7QBingsmbJ BIutBm4E9KShCNLCvKfAgVbsQSWlj4eYKv3ks9IB+6GkxA4ggkJHfK+SsT3Onkd1KM/U IGpXqaPXm8fFFffduzPGZmSEHQb5TQ3de5FqdBKtac0Z25HOqNsIJxBbX2k0KBtCn1qP wYHA== 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=T1iPoam8xLGKw7mWeF9y+bCSYVncBONpV6r4rTQcUEw=; b=XPG1wawGK5teBiQLqH9zuymWSELGyETUZ1ajvA2osCm0D0r1hZJqI0l1/TQXWLgHET qpbDfI9AU/SUw+hFJ/sg6D0IIYR5yKF5HqxyFq2SLEmTaPlH/dkUjc4atHyVxZiaiRWO KwTf6kwDwuNuVwp9eOMi24xA9MErz/jCeJ4mFRgKb48HjJv7myKnt7NJLglMy/4YQE2m HZMCYOYZlkqGuJBQnLxJmeds1vWjzBaG5qY7PA339RNV01EoEKxT7OUKUlCvaJ3tB84R YPL58AqyahfzJf7KCgxR9eenrZyMzqgP2a25BOFljEV4GofWxbtfaJUdEFUDzI84xVFq H3Tw== X-Gm-Message-State: AOAM533NfknalZ2p3UHbVh0VQYuLOMQBq2LpPLiNmF9cNSdXSxD6cBu6 WJtWL8cSsvFJbkoj99PrgF74a642nhM= X-Google-Smtp-Source: ABdhPJzehCzd7Bsh8QghASV5Hr3Fiuf9FzYn4872fQlSyx3rfI5rIHbqTusmm8clmvV7vwa7Eeq0fA== X-Received: by 2002:a2e:8e70:: with SMTP id t16mr239050ljk.489.1617750820678; Tue, 06 Apr 2021 16:13:40 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <20210406082842.pg3rejmmnxuxvddf@example.org> <52bf94c7-8653-9ce0-8f69-da689581fac0@gmail.com> <20210406190532.ujqp7edd3niul4n6@example.org> <20210406193040.glgiqhvsc74nq7vy@example.org> From: Leonid Krivoshein Message-ID: <1f95ddc1-c551-62b8-09a1-c9b6787b5f00@gmail.com> Date: Wed, 7 Apr 2021 02:13:39 +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: <20210406193040.glgiqhvsc74nq7vy@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: Tue, 06 Apr 2021 23:13:42 -0000 Archived-At: List-Archive: 06.04.2021 22:30, Alexey Gladkov пишет: > On Tue, Apr 06, 2021 at 09:05:32PM +0200, Alexey Gladkov wrote: >>>>> 5. Исходная идея pipeline -- организовать цепочку с входом и выходом у >>>>> каждого элемента. А как быть в ситуациях, когда ты заказал дождаться 4х >>>>> устройств? >>>> pipeline=waitdev,waitdev,... \ >>>> waitdev=/dev/cdrom \ >>>> waitdev=/dev/sda >>>> >>>> Это обсуждалось и исправлялось [1]. У любого шага есть начало и конец, но >>>> не обязательно, что на выходе должно быть что-то, что будет монтироваться. >>>> Это может быть шаг с диалоговым окном для корректировки поведения >>>> следующих шагов. >>> Хорошо, дождались нескольких устройств. Выход получили только от последнего. >> Да нет же. Ты получаешь доступ ко _всем_ предыдущим шагам. Ты можешь к ним >> обращаться pipeN, N это номер шага. > Я знаю, что тут много моей вины. Я не задокументировал это должным > образом. Я своё оправдание скажу, что год это никто даже не пробовал > использовать. > > Но посмотри на реализацию шага overlayfs. Я специально его сделал для > иллюстрации того, что возможно использовать несколько предыдущих шагов. В коде-то я увидел, потому и спросил в предыдущем письме: Как написать универсальный шаг, который обработает результаты нескольких предыдущих? Передавать этому шагу номера pipe'ов через cmdline? Что ты ниже и предлагаешь: > В overlayfs параметр если указан это список того, что будет lowerdir. Для > каждого элемента используется resolve_target, которая либо берёт что > укажешь, либо если это pipeN вернёт dst этого шага. Таким образом ты > можешь указать overlayfs=pipe1,pipe2,pipe3 и собрать три шага в свой dst. Пользователь может редактировать cmdline, такой интерфейс я бы не назвал безопасным, интуитивно понятным и простым. Нужно хорошо понимать работу pipeline, мысленно переводить строку kw1,kw2,kw3,... в массив, производить в уме сдвиги ячеек в нём, прописывать в cmdline новые индексы, и конечно молиться, чтобы ничего не сломалось. :-) Проблему распараллеливания и синхронизации цепочек это тоже не решает. А ведь что такое pipeline, когда уже есть event-driven механизм, если не "ручное" управление порядком загрузки плюс возможность смешивать эти два подхода? -- Best regards, Leonid Krivoshein.