From: Mike Gilbert <floppym@gentoo.org>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Rename /dev/nvme0n1 to /dev/sda
Date: Sun, 3 Sep 2017 21:26:17 -0400 [thread overview]
Message-ID: <CAJ0EP40Yh2KXx2Jinimf5NYAxEVGF6AUU1Osx-fw_65YkHvSfg@mail.gmail.com> (raw)
In-Reply-To: <CAN0CFw3KanJN1QbQs0pPX8_odeSOb8+PzX+DTWQSPT2erpgi7g@mail.gmail.com>
On Sun, Sep 3, 2017 at 6:41 PM, Grant <emailgrant@gmail.com> wrote:
>>>>> My new laptop uses /dev/nvme0n1 instead of /dev/sda which conflicts
>>>>> with the script I use to manage about 12 similar laptops running
>>>>> Gentoo. Is there a udev method for renaming the disk that will work
>>>>> well with any USB disks that happen to also be attached?
>>>>
>>>> I'm not certain what you mean by that, but I would guess that you want
>>>> the nvme disk to show up as /dev/sda, and the USB disk(s) to show up
>>>> as /dev/sd[b-z].
>>>>
>>>> It is not possible to accomplish this using udev; the kernel owns the
>>>> /dev/sdX device namespace, and will sequentially create devices nodes
>>>> for SCSI-like block devices using that namespace. There is no way to
>>>> change that using a udev rule.
>>>
>>>
>>> Can I rename /dev/sda to /dev/sd[b-z] if it's attached via USB, and
>>> then rename /dev/nvme0n1 to /dev/sda if /dev/nvme0n1 exists?
>>>
>>> Alternatively, can I rename /dev/sda to /dev/sd[b-z] if /dev/sda and
>>> /dev/nvme0n1 exist, and then rename /dev/nvme0n1 to /dev/sda if
>>> /dev/nvme0n1 exists?
>>
>> You might technically be able to do it, but I would guess it would
>> cause some nasty race conditions between the kernel and udev. It's a
>> bad idea.
>
>
> Is it the conditionals that cause this to be a bad idea? Because I
> believe udev has functionality designed to rename devices exactly like
> this.
udev doesn't provide any functionality to rename device nodes. You can
adjust their permissions, and create symlinks, but there is no direct
way to rename them.
To rename a device node in a udev rule, you would have to call an
external command, which udev knows nothing about. After having renamed
it this way, the information in the udev device database would no
longer be consistent, and any future device events would not work
properly.
I would suggest you utilize the existing symlinks in one of the
/dev/disk/ sub-directories, or create some udev rules to create your
own symlinks based on whatever metadata you wish. I would also suggest
you read the udev(7) manual page.
Trying to coerce your nvme device to look like an sd device is really
the wrong approach to solving your problem.
next prev parent reply other threads:[~2017-09-04 1:26 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-01 16:10 [gentoo-user] Rename /dev/nvme0n1 to /dev/sda Grant
2017-09-02 2:58 ` R0b0t1
2017-09-02 6:48 ` Andrew Savchenko
2017-09-02 13:14 ` Canek Peláez Valdés
2017-09-03 17:59 ` Grant
2017-09-03 18:11 ` Canek Peláez Valdés
2017-09-04 4:26 ` J. Roeleveld
2017-09-04 5:08 ` Canek Peláez Valdés
2017-09-02 14:35 ` Mike Gilbert
2017-09-03 18:11 ` Grant
2017-09-03 22:24 ` Mike Gilbert
2017-09-03 22:41 ` Grant
2017-09-04 1:26 ` Mike Gilbert [this message]
2017-09-04 1:38 ` Rich Freeman
2017-09-04 14:58 ` Grant
2017-09-04 15:00 ` Grant
2017-09-04 15:33 ` J. Roeleveld
2017-09-04 15:40 ` Mike Gilbert
2017-09-04 19:22 ` Grant
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=CAJ0EP40Yh2KXx2Jinimf5NYAxEVGF6AUU1Osx-fw_65YkHvSfg@mail.gmail.com \
--to=floppym@gentoo.org \
--cc=gentoo-user@lists.gentoo.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox