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=20251104; t=1792572617; x=1793177417; darn=lists.altlinux.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to:content-type; bh=35LiR+6E7a0VVPZUq1Fxl+fW3rNGWlnDP9en6jasXf4=; b=Os6ZECGjZf7jmOTgfg5r89BRsK8hElHj3yAP6/1S2BXYMPpwIcnan57iQ735oE/Vwx 4dM3Ig+7wTUx/Rl3boMABTW7jox29My1K4D775uBl4WjS4M5oNQUOy45VlVWEaINJRa6 8BGleqLc3xin4Cxwh5KiZ6QMHxoD2/okuUlRkLH2QGPzTdg+Rb99In7o1ehpMDyaCWB2 kUbk1xIiU8A6MgWi/xuaH6I4lumrjT1fIqMezlPFDKRbHXlvxSyLhmGPtrrGd6SklQuh 1sN7zPCXiB/50sVjpIFotgItTaBgQDipT/vjV2Po8GR1IbSQj52BEwQxXA4YpxNYh/lq wLHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792572617; x=1793177417; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:to:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=35LiR+6E7a0VVPZUq1Fxl+fW3rNGWlnDP9en6jasXf4=; b=CdFma7pixlTAhBewUK1pEtDY4j96ExDkWzNF/9bkPCjMY9kqgxldcmA4uobn+i/cSK UOYv+m8GLgWgaopyjfuykZpn8O1/JDiQHHG4NQm62BEOtNqjXh23bnm2sIELs5xL4nOs K0onojOYF68esFNy3J93kT98+hxdVK38TdAmSRES54KI7o8C8oCfMCov/dCKDGixdmX/ Sev2+6i6ybL/WHd9PN+S63LHyUqIQaW0G5oDEnI9UV3eOcuH8/mUlxS59JmoASx/cQC8 4l1EPhQpjqdqrxs3ES5eLAvjnJ9q5tzMKzDhmrn8xn6v3cL9IVCVvh5jItcEuf2S4gai 1tKA== X-Gm-Message-State: AFq9FYLrFNs689Q/x9mAMztBAxpAsYdCY3kvyUeAGyCUF5fJJLPQcV15 foVdaC8sx+fmzPR1FCgj1vgSQS5G8wFCa11JgbGJSu4yjUSsCNPYW7e7SGoVWw== X-Gm-Gg: AYBFou1YsaUeR3Cv2IvqOY9nML8DPWUu82ardMAXWPoumOqtuZXB4R1XwhsKkliuSkC mRQa1BW4Kxnq+iZ6n6Ur4tTKka629Lp8oLVbkMpRGEqrq/eoQws3Ol8ZCHZO0hHcyZtRjYuo/ng BUn3yrrgHf54H5fCr9tXQSFnl/63h9IkIOj0CfnCX9uowPyP7TFXGGnr2jr+8bkH19Ufd5KMKK1 v5lleA8Dg2JFe5BfGscFMJFPgbILbo5mD7RB7c8KNVeQero02Skcnd74x7NDEf6vEUVSv4HEPvV B4HL+QaNrzf8rUn3mzLDZBhaskUgMakIYaHpRfqCE9ULfcD/mEOgToFbZLJpoicEYuvxOxCfVWU XS0O+MdqQVVLX+6aI/a8PyyzVSzudMgkBJYJ/RHmVA2KCPHumtEPGjD7idQyI8QR145GciUZi28 Y5TUHWK4+7kAXmMP1kUk4HL2g95i1xVfrvfn+vysha8SwPfiL3JvwHhDszfvnMcL/s+TnugD+fa QeF5H/l+GUTbYur/K2OSXq5SngCLrOWZcP/iyzIofE0m88giAxkLAjjTaeESYOb8DYhtygB1BaT uBb/VEk/UFWxHohkRuQ= X-Received: by 2002:a05:6870:174d:b0:49d:c502:5e2c with SMTP id 586e51a60fabf-4a7dc2b405cmr727268fac.48.1792572616447; Wed, 21 Oct 2026 01:50:16 -0700 (PDT) Message-ID: <603c67ce-5fc5-434b-9f6f-83afb99fcc83@gmail.com> Date: Wed, 21 Oct 2026 11:50:15 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: make-initrd@lists.altlinux.org References: <6827d282-5d15-4a4c-b144-2da3e3580cda@gmail.com> Content-Language: ru, en-US From: Leonid Krivoshein In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [make-initrd] [PATCH v2 00/11] Improve support for atomic actions 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, 21 Oct 2026 08:50:24 -0000 Archived-At: List-Archive: On 10/21/26 10:18 AM, Alexey Gladkov wrote: > On Tue, Oct 20, 2026 at 10:04:56PM +0300, Leonid Krivoshein wrote: >> Было бы здорово иметь одно место в документации, где будут перечислены все >> файлы, доступ к которым требует блокировок. Например, из этих коммитов я >> узнал, что следует блокировать доступ на запись в /.initrd/initenv. >> Инклюдить его можно по-прежнему без блокировки благодаря атомарному >> обновлению, если я правильно понял. > > Сейчас с твоей подачи такой список стал организовываться в > features/runtime/data/bin/initrd-sh-functions вместе с API для блокировок. > Отлично, спасибо! > Документация у нас в Documentation/ или ты про какую-то другую ? > Про неё, да. Про список вида ресурс (тип блокировки) и файл блокировки. И раз уж заглянул... по-моему, проще так: get_majmin() { mountpoint -x -- "$1" 2>/dev/null } результат будет аналогичным. >> Другой момент с этими коммитами не связан, но давно напрашивался. В v2.36.0 >> была добавлена rootdelay_reset_timer(), здесь проскочило её >> усовершенствование. На время диалогов ввода и на время заведомо длительных >> или непредсказуемых по времени выполнения операций хотелось бы не просто >> приостанавливать отчёт таймера rootdelay, но и возобновлять его отсчёт, а не >> просто сбрасывать. Сейчас я его просто сбрасываю, так тоже работает, но это >> конечно увеличивает суммарный (фактический) rootdelay. > > Почему на время диалогов ты не хочешь сделать rootdelay_pause ? > Как раз делаю. > Поставить rootdelay на паузу для диалогов мне кажется правильной идеей. Я > паузу как раз для этого использую в fsck и kickstart. Для последнего > rootdelay отключается по сути вообще. > Раньше тоже так делал. Если что-то пошло не так, мы не увидим ни stage2, ни отладочного rdshell. Поэтому сейчас сделаны две вещи: 1) таймаут отключается только на время длительных операций, диалогов, а после rootdelay перезапускается, 2) при фатальном выходе chaind устанавливает дедлайн на now+2 секунды, чтобы поскорее попасть в rdshell. Cпич о том, что текущая реализация отталкивается от сохранённого дедлайна, а не учёта времени, потраченного на загрузку. В моём понимании, rootdelay_pause() -- перестать расходовать rootdelay на неопределённое время. Сейчас же получается, что после вызова rootdelay_unpause() можно сразу схлопотать таймаут. Обойти можно сбросом счётчика, но чтобы считалось правильно, необходимо добавлять арифметику для расчёта нового дедлайна, чего бы не хотелось делать на стороне клиента. >> >>>> >>>>> >>>>> Alexey Gladkov (10): >>>>> runtime: Fix console lock shadowing by /dev mount >>>>> runtime: Avoid leaking lock descriptor 90 to child processes >>>>> runtime: Replace /.initrd/initenv locking with atomic file update >>>>> runtime: Centralize file and console locking helpers >>>>> create-rootfs: Require bash 4.1 or newer for initramfs >>>>> network: Share DHCP hook lock between IPv4 and IPv6 on the same >>>>> interface >>>>> luks: Serialize /etc/luks.keys updates and avoid duplicate entries >>>>> runtime: Synchronize concurrent /etc/fstab access with shared and >>>>> exclusive locks >>>>> runtime: Update rootdelay deadline and failure message atomically >>>>> runtime: Centralize atomic file replacement in write_atomic helper >>>>> >>>>> Egor Shestakov (1): >>>>> runtime: Fix a lock leak in rootdelayd >>>>> >>>>> .../uevent/handlers/btrfs-member/100-timeout | 4 +- >>>>> .../data/lib/uevent/handlers/040-mountdev | 19 +-- >>>>> .../luks/data/lib/uevent/filters/lukskeys | 49 +++--- >>>>> .../luks/data/lib/uevent/handlers/085-luks | 33 ++-- >>>>> .../network/data/bin/network-sh-functions | 1 + >>>>> .../network/data/etc/rc.d/init.d/network-up | 3 - >>>>> features/network/data/lib/network/hostname | 18 ++- >>>>> features/network/data/lib/network/resolvconf | 84 +++++----- >>>>> .../network/data/lib/network/udhcpc4.script | 90 +++++------ >>>>> features/runtime/data/bin/initrd-sh-functions | 123 ++++++++++++++- >>>>> features/runtime/data/etc/rc.d/init.d/cmdline | 6 +- >>>>> features/runtime/data/etc/rc.d/init.d/fstab | 4 +- >>>>> features/runtime/data/etc/rc.d/rc | 148 +++++++++--------- >>>>> features/runtime/data/init | 2 + >>>>> .../data/lib/initrd/post/fstab/mountsrc | 61 ++++---- >>>>> .../runtime/data/lib/uevent/filters/mountdev | 71 +++++---- >>>>> .../lib/uevent/handlers/mount/900-localdev | 39 +++-- >>>>> features/runtime/data/sbin/rootdelayd | 74 ++++----- >>>>> .../data/lib/uevent/handlers/040-sshfsroot | 26 ++- >>>>> features/zfs/data/lib/initrd/post/fstab/zfs | 105 +++++++------ >>>>> features/zfs/data/sbin/ueventd-zfs | 21 ++- >>>>> .../tests/ts0044-member-timeout-queue-api/run | 2 + >>>>> tools/create-rootfs | 2 + >>>>> 23 files changed, 566 insertions(+), 419 deletions(-) >>>>> >>>> >>>> -- >>>> WBR, Leonid Krivoshein. >>>> >>>> _______________________________________________ >>>> Make-initrd mailing list >>>> Make-initrd@lists.altlinux.org >>>> https://lists.altlinux.org/mailman/listinfo/make-initrd >>> >> >> -- >> WBR, Leonid Krivoshein. >> >> _______________________________________________ >> Make-initrd mailing list >> Make-initrd@lists.altlinux.org >> https://lists.altlinux.org/mailman/listinfo/make-initrd > -- WBR, Leonid Krivoshein.