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=1792611226; x=1793216026; 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=hTUhW0c34jjc0/xWcWj/VDjDZweb9Iiyg/MNxslOwA8=; b=XgEcFfh60rwpfeZRKh7oRrk63g7Jp5ZznKFEpUnnrjY9Xvhm9ZcFWtHIdZHI0qSvNK 1yYu7hE+bwjUjJJnwM7c6IcHD5pDJqTumaPYkLvg/md8yuHh1/LQ+fFLMtjtk0PukheO fnV1J9KXTJMxC2L/RJKtXBUhF3A/dmKSe1MARapwxr/zurTj1KsJlDyr7Q8ppKdWAdIQ rrA6D4fuKdrCAVWjkLSQoRsHscq/aDx0eTIup45xSKaFz7LHRq89Cej6pNIqzYOMVzod QqANVC5A6/J+ut8zfWntnubeW654S0llW+Ww4ChLo6hMoznWfeWRFEerN5GfGT2vbJGr NPXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792611226; x=1793216026; 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=hTUhW0c34jjc0/xWcWj/VDjDZweb9Iiyg/MNxslOwA8=; b=HL69QfukXYRekc7m9O3CFWQiJg2TDSU+aGCvIL1Nu4w/2CJgZkD+Bt5gW7Z6+JYn9Y PP9zzBEbTYrt9CRHBboUn/coZ/1xNWTO1ZLs97QgqFD7LdDxPn69JKPSJEWLf6KxYkHW PC9nJTMwI6iPIN6zEVG76ESvDppgajLaLeVJe4bF0WuytEZwlGKxbcR139BMvc2YXEfO L/j24UN8oxqBAg1JxCO2jKtb8HYMnuS5iECN2BB+t/8G0TNI02qHUyFvihJsZTKryRce g6WmoNoOzfi/XiBHecvABZgNjvQshpXd1yFB2F7spjSnU+/LdRHgcuQVUdxV02jqLEkG XP0g== X-Gm-Message-State: AFq9FYKc4EsPN95SYsQ4YubZ1tL0lbwbq+Zy00gSsqOAPKVJlPxea5wz dms7WMSy+tZ0tjskcwVZxqR3w/vtdNpa5F6rcmg9F3KlzR3Wt/vYa1c3gez7lw== X-Gm-Gg: AYBFou1PS4cJZcjxMgadHfYLjWiC0pNdSWto1ucU649DgyDj3++zxBqORLIQcfPGs+a 3ExaU4Og1SMaclMxri/hwPDuASXzBjvn7c0uqs5No+aaM4cRcr7N2E3mDSX03KJQ1NBr2ZT9ZCd KYyh74XZwm/M1bCSO48HkLHPhuLd3opOBXx58yWY3tv45ovRHJiDvl3DSniI4PRoikvMWNqR4Rz JDeZO2k4KNG1Jt9F3qmrjzdLGxXVW8qjIiBeTZ/I1rK+zm1cRVVe0+Ndzb+x3bwRRgqxxmaPcsN Xragltf+ohKpyTpHnMKlMGDvgB5A0OT6ukWf0FdL/lCK5qvx+BYzj4zaSx5bTudoA7/9+H38wWE 8z+554fXSC1a/mO2dS/jiJYJ35753VWEEF0xoIoAzZWuABtt5UpavleV5EyBpCD31th6zLeDb5L g7BoscCKKzDoNxrHVaX6Z1CPrDifaqc+4wdAJGDC5sh0hJJe1i4mIED77flztzwxFk2p04n2Kz5 DQ7dreoix+TLjFhlCuNFI4znvVl/g2C48F/A/AziNys9OCx3LdF9Ws/NqWMjpGKmhcrl9ErPg== X-Received: by 2002:a05:6830:6ae8:b0:7e9:5022:3639 with SMTP id 46e09a7af769-84d07e0fe54mr2683222a34.15.1792611225807; Wed, 21 Oct 2026 12:33:45 -0700 (PDT) Message-ID: <6a12cd53-149d-4c28-9e23-648e9de34972@gmail.com> Date: Wed, 21 Oct 2026 22:33:45 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: make-initrd@lists.altlinux.org References: <6827d282-5d15-4a4c-b144-2da3e3580cda@gmail.com> <603c67ce-5fc5-434b-9f6f-83afb99fcc83@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 19:33:49 -0000 Archived-At: List-Archive: On 10/21/26 10:30 PM, Alexey Gladkov wrote: > On Wed, Oct 21, 2026 at 09:52:39PM +0300, Leonid Krivoshein wrote: >>>>> Документация у нас в Documentation/ или ты про какую-то другую ? >>>>> >>>> >>>> Про неё, да. Про список вида ресурс (тип блокировки) и файл блокировки. >>> >>> Кто-нибудь может сделать такую документацию ? :) >>> >> >> Наверное, да. Только сейчас работаю над значительным улучшением и >> документированием bootchain/altboot. >> >> >>>> И раз уж заглянул... по-моему, проще так: >>>> >>>> get_majmin() >>>> { >>>> mountpoint -x -- "$1" 2>/dev/null >>>> } >>>> >>>> результат будет аналогичным. >>> >>> Этой функции очень много лет. Она появилась до того как в образе появился >>> mountpoint. Но да, твой код проще. >>> >> >> Можно использовать, раз уж появился, я давно использую. >> >> >>>> >>>>>> Другой момент с этими коммитами не связан, но давно напрашивался. В 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() можно >>>> сразу схлопотать таймаут. Обойти можно сбросом счётчика, но чтобы считалось >>>> правильно, необходимо добавлять арифметику для расчёта нового дедлайна, чего >>>> бы не хотелось делать на стороне клиента. >>> >>> Предлагаемый патч в соседней ветке. Посмотри пожалуйста. >>> >> >> Посмотрел. Да, что-то вроде того. Потому что всегда по факту были >> rootdelayd_pause() и rootdelayd_unpause(), а теперь как надо, без буквы d на >> конце. :-) Приостанавливалась реакция демона, а не отсчёт таймера. >> >>> If the timer is reset while paused, advance the recorded pause start >> timestamp to prevent adding duplicate time. >> >> А как теперь будет работать следующий код если до окончания загрузки перед >> его вызовом оставалось 30 секунд? >> >> rootdelay_reset_timer >> rootdelay_unpause >> >> По идее, пользователю должны добавить 180 секунд на загрузку, верно? > > Кажется моя реализация может накинуть времени пользователю в 1-2 секунды. > Нужно поправить. > Я добавлял две секунды как раз с учётом того, что для расчёта выполнялось округление до целых. >> Можно ещё глянуть эти пару функций (longtermop_start и longtermop_end) [1] и >> весь патч [2] на предмет взаимодействия с make-initrd rootdelay из-вне -- >> здесь учитывается вложенность вызовов. Такая обёртка меня вполне устраивает, >> т.е. на стороне make-initrd вложенность можно не учитывать. Позже переделаю >> их с учётом атомарности. >> >> >> 1. https://github.com/klark973/make-initrd-bootchain/blob/sisyphus/bootchain-core/data/bin/bootchain-sh-functions#L200 >> 2. https://github.com/klark973/make-initrd-bootchain/commit/8d3407240c214eee86b5421210b46ba4577da559 >> >> >> -- >> WBR, Leonid Krivoshein. >> >> _______________________________________________ >> Make-initrd mailing list >> Make-initrd@lists.altlinux.org >> https://lists.altlinux.org/mailman/listinfo/make-initrd > -- WBR, Leonid Krivoshein.