summaryrefslogtreecommitdiff
path: root/src/udev/udev-builtin-path_id.c
AgeCommit message (Collapse)Author
2016-09-26udev/path_id: introduce support for NVMe devices (#4169)Keith Busch
This appends the nvme name and namespace identifier attribute the the PCI path for by-path links. Symlinks like the following are now present: lrwxrwxrwx. 1 root root 13 Sep 16 12:12 pci-0000:01:00.0-nvme-1 -> ../../nvme0n1 lrwxrwxrwx. 1 root root 15 Sep 16 12:12 pci-0000:01:00.0-nvme-1-part1 -> ../../nvme0n1p1 Cc: Michal Sekletar <sekletar.m@gmail.com> Signed-off-by: Keith Busch <keith.busch@intel.com>
2016-02-19udev/path_id: correct segmentation fault due to missing NULL checkHendrik Brueckner
Running "udevadm test-builtin path_id /sys/devices/platform/" results in a segmentation fault. The problem is that udev_device_get_subsystem(dev) might return NULL in a streq() call. Solve this problem by using streq_ptr() instead.
2016-02-10tree-wide: remove Emacs lines from all filesDaniel Mack
This should be handled fine now by .dir-locals.el, so need to carry that stuff in every file.
2016-02-09path_id: reintroduce by-path links for virtio block devicesMichal Sekletar
Enumeration of virtio buses is global and hence non-deterministic. However, we are guaranteed there is never going to be more than one virtio bus per parent PCI device. While populating ID_PATH we simply skip virtio part of the syspath and we extend the path using the sysname of the parent PCI device. With this patch udev creates following by-path links for virtio-blk device /dev/vda which contains two partitions. ls -l /dev/disk/by-path/ total 0 lrwxrwxrwx 1 root root 9 Feb 9 10:47 virtio-pci-0000:00:05.0 -> ../../vda lrwxrwxrwx 1 root root 10 Feb 9 10:47 virtio-pci-0000:00:05.0-part1 -> ../../vda1 lrwxrwxrwx 1 root root 10 Feb 9 10:47 virtio-pci-0000:00:05.0-part2 -> ../../vda2 See: http://lists.linuxfoundation.org/pipermail/virtualization/2015-August/030328.html Fixes #2501
2015-12-07udev: add emacs header lineZbigniew Jędrzejewski-Szmek
Otherwise emacs wants to use 2-space indentation and other attrocities.
2015-11-13udev/path_id: improve and enhance bus detection for Linux on z SystemsLiu Yuan Yuan
Improve and enhance the path_id udev builtin to correctly handle bus' available on Linux on z Systems (s390). Previously, the CCW bus and, in particular, any FCP devices on it, have been treated separately. This commit integrates the CCW bus into the device chain loop. FCP devices and their associated SCSI disks are now handled through the common SCSI handling functions in path_id. This implies also a change in the naming of the symbolic links created by udev. So any backports of this commit to existing Linux distribution must be done with care. If a backport is required, a udev rule must be created to also create the "old-style" symbolic links. Apart from the CCW bus, this commit adds bus support for the: - ccwgroup bus which manages network devices, and - ap bus which manages cryptographic adapters - iucv bus which manages IUCV devices on z/VM
2015-10-27util-lib: split out allocation calls into alloc-util.[ch]Lennart Poettering
2015-10-24util-lib: split our string related calls from util.[ch] into its own file ↵Lennart Poettering
string-util.[ch] There are more than enough calls doing string manipulations to deserve its own files, hence do something about it. This patch also sorts the #include blocks of all files that needed to be updated, according to the sorting suggestions from CODING_STYLE. Since pretty much every file needs our string manipulation functions this effectively means that most files have sorted #include blocks now. Also touches a few unrelated include files.
2015-09-08udev: build by-path identifiers for ATA devices.David Milburn
/dev/disk/by-path total 0 lrwxrwxrwx. 1 root root 9 Sep 4 10:02 pci-0000:00:1f.2-ata-2 -> ../../sr0 lrwxrwxrwx. 1 root root 9 Sep 4 10:02 pci-0000:00:1f.2-ata-3 -> ../../sdd lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:00:1f.2-ata-3-part1 -> ../../sdd1 lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:00:1f.2-ata-3-part2 -> ../../sdd2 lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:00:1f.2-ata-3-part3 -> ../../sdd3 lrwxrwxrwx. 1 root root 9 Sep 4 10:02 pci-0000:03:00.0-ata-4 -> ../../sda lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:03:00.0-ata-4-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:03:00.0-ata-4-part2 -> ../../sda2 lrwxrwxrwx. 1 root root 9 Sep 4 10:02 pci-0000:08:00.0-ata-1 -> ../../sdc lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:08:00.0-ata-1-part1 -> ../../sdc1 lrwxrwxrwx. 1 root root 10 Sep 4 10:02 pci-0000:08:00.0-ata-1-part2 -> ../../sdc2
2015-08-17Bug #944: Deletion of unnecessary checks before calls of the function "free"Markus Elfring
The function "free" is documented in the way that no action shall occur for a passed null pointer. It is therefore not needed that a function caller repeats a corresponding check. http://stackoverflow.com/questions/18775608/free-a-null-pointer-anyway-or-check-first This issue was fixed by using the software Coccinelle 1.0.1.
2015-07-31tree-wide: introduce mfree()David Herrmann
Pretty trivial helper which wraps free() but returns NULL, so we can simplify this: free(foobar); foobar = NULL; to this: foobar = mfree(foobar);
2015-06-02udev-builtin: path_id - don't pass NULL to udev_device_get_parent()Tom Gundersen
Being explicit about this makes the code easier to follow IMHO.
2015-06-02udev: add some assertsTom Gundersen
Mostly for documentation purposes.
2015-01-05udevadm,..: make --help output of udev tools more like the output of the ↵Lennart Poettering
various other tools
2014-12-04udevd: SAS: use SAS addr + PHY id in by-path whenever possible.Maurizio Lombardi
This patch changes the naming scheme for sas disks. The original names used disk's sas address and lun, the new scheme uses sas address of the nearest expander (if available) and a phy id of the used connection. If no expander is used, the phy id of hba phy is used. Note that names that refer to RAID or other abstract devices are unchanged. Name in raid configuration: hba_pci_address-sas-raid_sas_address-lunY-partZ Name in expander bare disk configuration: hba_pci_address-sas-expander_sas_address-phyX-lunY-partZ Name format without expanders: hba_pci_address-sas-phyX-lunY-partZ Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
2014-10-30udev: path_id - update commentsKay Sievers
2014-10-28udev: path_id - set supported_parent for well-known SCSI setupsKay Sievers
2014-08-04udev: path_id - suppress ID_PATH for devices with an unknown parent device typeKay Sievers
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1321816
2014-07-29udev: place opening { at the same line as the function declarationKay Sievers
2014-03-27udev: persistent naming - we cannot use virtio numbers as they are not stableTom Gundersen
This reverts commit 8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and commit e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'. Distros may want to take note of this, as it changes behavior.
2013-12-14udev-builtin-path: fix printf specifiersZbigniew Jędrzejewski-Szmek
2013-12-14Add more _printf_'s for format-nonliteralsThomas Hindoe Paaboel Andersen
Clang is a bit more strict wrt format-nonliterals: http://clang.llvm.org/docs/LanguageExtensions.html#format-string-checking Adding these extra printf attributes also makes gcc able to find more problems. E.g. this patch uncovers a format issue in udev-builtin-path_id.c Some parts looked intetional about breaking the format-nonliteral check. I added some supression for warnings there.
2013-10-26udev-builtin: path_id - add support for bcma busTom Gundersen
This matches the bcma support in the network device naming. Eventually wa want to make sure ID_PATH is equivalent to ID_NET_NAME_PATH, so we never need to match on the latter.
2013-09-17udev: path_id - fix by-path link generation for scm devicesSebastian Ott
Set some_transport = true to prevent scm devices from being ignored. Suggested-by: Harald Hoyer <harald@redhat.com> Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
2013-02-13use streq instead of strcmpThomas Hindoe Paaboel Andersen
2013-01-17udev: path_id - clarify comment about the kernel ATA naming problemKay Sievers
2012-11-23udev: path_id - handle Hyper-V devicesHannes Reinecke
Hyper-V has an abstract bus, which gets renumbered on guest startup. So instead of the bus numbers we should be using the device GUIDs, which can be retrieved from the 'device_id' sysfs attribute.
2012-11-12remove duplicate semicolonsThomas Hindoe Paaboel Andersen
2012-11-12use the same email address everywhereKay Sievers
2012-10-11udev: path_id - add scm supportSebastian Ott
Add support for scm block devices. Introduced here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=f30664e2 Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
2012-08-03udev: path_id - add comment about the unrteliable rebase logicKay Sievers
2012-07-20udev: path_id - export path for platform block devicesKay Sievers
Enrico Scholz <enrico.scholz@sigma-chemnitz.de> > > E.g. I have a platform with two sdhci controllers with different purposes. > First slot is an external slot while second one is internal with a > non-removable card. > > When there is a card in the external slot at boot, the non-removable card is > named 'mmcblk1'; without the external card it is 'mmcblk0'. Vice versa for the > external card. https://bugs.freedesktop.org/show_bug.cgi?id=52309
2012-05-10udev: path_id - cciss - set "we have a bus" flagKay Sievers
2012-05-10udev: path_id - add cciss supportHannes Reinecke
2012-05-07udev: path_id - skip PCI-only-parents for block devicesKay Sievers
2012-04-16udev: use startswith() and streq()Kay Sievers
2012-04-04move imported udev into placeKay Sievers