Make-initrd development discussion
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] Release make-initrd 2.14.0
Date: Sat, 3 Apr 2021 14:31:22 +0300
Message-ID: <7335da84-8213-c77b-7062-8af41ea46d46@gmail.com> (raw)
In-Reply-To: <20210403110923.djpovbnytsfafkjm@example.org>


03.04.2021 14:09, Alexey Gladkov пишет:
> On Fri, Apr 02, 2021 at 09:37:41PM +0300, Leonid Krivoshein wrote:
>> 01.04.2021 12:02, Alexey Gladkov пишет:
>>> Я бы предложил синтаксис аналогичный ip=, где разные поля разделены
>>> двоеточиями т.е. mountfs=<device>[:<fstype>[:<mountopts>]]
>> И ещё FSTYPE=... по аналогии можно сделать:
>>
>>
>> diff --git a/data/bin/initrd-sh-functions b/data/bin/initrd-sh-functions
>> index a56e872..0e433c6 100644
>> --- a/data/bin/initrd-sh-functions
>> +++ b/data/bin/initrd-sh-functions
>> @@ -33,10 +33,26 @@ get_dev() {
>>
>>          case "$name" in
>>                  '')
>>                          return 1
>>                          ;;
>> +               CDROM:*)
>> +                       [ "${ID_CDROM-}" = "1" ] || [ "${ID_FS_TYPE-}" =
>> "iso9660" ] ||
>> +                               return 1
>> +                       name="${name#CDROM:}"
>> +                       name="${name:-/dev/sr0}"
>> +                       ;;
>> +               FSTYPE=*:?*)
>> +                       name="${name#FSTYPE=}"
>> +                       value="${name%%:*}"
>> +                       [ "${ID_FS_TYPE-}" = "$value" ] ||
>> +                               return 1
>> +                       name="${name#*:}"
>> +                       ;;
>> +       esac
>> +
>> +       case "$name" in
>>                  UUID=*)
>>                          [ "${ID_FS_UUID-}" = "${name#UUID=}" ] ||
>>                                  return 1
>>                          ;;
>>                  LABEL=*)
>>
> $ git grep '\<get_dev '
> data/lib/uevent/filters/mountdev:21:            get_dev dev "$fsdev" ||
> data/lib/uevent/filters/resume:8:get_dev devresume "${RESUME-}" ||
> features/luks/data/lib/uevent/filters/luks:31:                  get_dev devluks "$dev" &&
> features/luks/data/lib/uevent/filters/luks:35:  get_dev devluks "$DEVNAME" ||
> features/luks/data/lib/uevent/filters/lukskeys:26:      get_dev realdev "$keydev" ||
> features/luks/data/lib/uevent/handlers/085-luks:32:             get_dev realdev "$luksdev"
> features/luks/data/lib/uevent/handlers/085-luks:70:                     get_dev "$luksdev" ||
> features/pipeline/data/lib/uevent/filters/pipeline-waitdev:13:  if [ -n "$spec" ] && get_dev dev "$spec"; then
>
> Ты правда хочешь, чтобы во всех этих фичах появилась поддержка cdrom:* ?

Пока CDROM нужен лишь одной фиче (последняя строка), но, вдруг ещё где 
потребуется? Соответственно, варианта только два:

- либо предусмотреть в get_dev() возможность указывать префиксы a.k.a 
CDROM: , FSTYPE: для всех, кто запрашивает get_dev().
- либо сделать обёртку типа get_pipeline_dev() и вызывать из неё 
get_dev(), а обёртку вызывать из pipeline-waitdev:13

Мне больше нравится первый вариант, но я же советуюсь. По идее на 
перечисленных "клиентов" эта "возможность" влиять не должна. Префиксы 
позволяют дополнительно ограничить спецификацию, но никто же не 
заставляет использовать эти префиксы там, где они не требуются. Но можно 
и заюзать, например, так: resume=FSTYPE=swap:/dev/sdb3 и в таком случае 
devresume получит значение только в том случае, если /dev/sdb3 является 
SWAP-разделом. Таких префиксов можно и больше напридумывать.


-- 
Best regards,
Leonid Krivoshein.



  reply	other threads:[~2021-04-03 11:31 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-30 18:21 Alexey Gladkov
2021-03-30 20:18 ` Leonid Krivoshein
2021-03-31  7:44   ` Alexey Gladkov
2021-03-31 13:08     ` Leonid Krivoshein
2021-03-31 13:39       ` Alexey Gladkov
2021-03-31 13:55         ` Leonid Krivoshein
2021-03-31 14:07           ` Антон Мидюков
2021-03-31 14:34           ` Alexey Gladkov
2021-03-31 14:40           ` Alexey Gladkov
2021-03-31 14:48             ` Alexey Gladkov
2021-03-31 14:49             ` Leonid Krivoshein
2021-03-31 14:50             ` Антон Мидюков
2021-03-31 15:22               ` Alexey Gladkov
2021-03-31 15:37                 ` Антон Мидюков
2021-03-31 15:54                   ` Leonid Krivoshein
2021-03-31 15:57                   ` Alexey Gladkov
2021-03-31 16:20                     ` Leonid Krivoshein
2021-03-31 16:55                       ` Alexey Gladkov
2021-03-31 17:02                         ` Антон Мидюков
2021-03-31 17:17                           ` Alexey Gladkov
2021-03-31 18:08                             ` Leonid Krivoshein
2021-03-31 18:10                               ` Leonid Krivoshein
2021-03-31 18:29                               ` Alexey Gladkov
2021-03-31 18:54                                 ` Leonid Krivoshein
2021-03-31 18:03                         ` Leonid Krivoshein
2021-03-31 18:11                           ` Антон Мидюков
2021-03-31 18:24                             ` Michael Shigorin
2021-03-31 19:02                               ` Leonid Krivoshein
2021-03-31 18:38                             ` Alexey Gladkov
2021-03-31 18:49                               ` Leonid Krivoshein
2021-03-31 19:20                               ` Leonid Krivoshein
2021-04-01  2:32                               ` Антон Мидюков
2021-03-31 18:44                             ` Leonid Krivoshein
2021-03-31 18:45                           ` Alexey Gladkov
2021-03-31 23:49                         ` Leonid Krivoshein
2021-04-01  9:02                           ` Alexey Gladkov
2021-04-01 10:38                             ` Leonid Krivoshein
2021-04-02 17:46                             ` Leonid Krivoshein
2021-04-02 17:57                               ` Leonid Krivoshein
2021-04-04 19:04                                 ` Konstantin Lepikhov
2021-04-04 19:21                                   ` Leonid Krivoshein
2021-04-02 18:37                             ` Leonid Krivoshein
2021-04-03 11:09                               ` Alexey Gladkov
2021-04-03 11:31                                 ` Leonid Krivoshein [this message]
2021-04-03 11:37                                   ` Антон Мидюков
2021-04-03 12:16                                     ` Leonid Krivoshein
2021-04-03 12:27                                       ` Антон Мидюков
2021-04-03 11:59                                   ` Alexey Gladkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7335da84-8213-c77b-7062-8af41ea46d46@gmail.com \
    --to=klark.devel@gmail.com \
    --cc=make-initrd@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Make-initrd development discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
		make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
	public-inbox-index make-initrd

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.make-initrd


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git