[systemd-devel] [systemd-commits] rules/60-persistent-storage.rules

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Fri Feb 13 06:49:53 PST 2015


On Thu, Feb 12, 2015 at 11:50:23PM -0800, Martin Pitt wrote:
>  rules/60-persistent-storage.rules |    6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> New commits:
> commit b87b01cf83947f467f3c46d9831cd67955fc46b9
> Author: Martin Pitt <martin.pitt at ubuntu.com>
> Date:   Wed Feb 11 15:26:52 2015 +0100
> 
>     rules: Fix by-path of mmc RPMB partitions and don't blkid them
>     
>     Linux 3.10+ exposes RPMB (Replay Protected Memory Block) partitions of MMC
>     devices [1] ; trying to read them with blkid or other unspecific means will
>     cause kernel buffer I/O errors and timeouts. So don't run blkid on these.
>     
>     Also ensure that /dev/disk/by-path creates proper symlinks and exposes the
>     -rpmb partition separately, instead of letting the "normal" partition symlink
>     point to the rpbm device (this is a race condition).
>     
>     [1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=090d25fe224c0
>     
>     https://launchpad.net/bugs/1333140
> 
> diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules
> index 475b151..08ed1cc 100644
> --- a/rules/60-persistent-storage.rules
> +++ b/rules/60-persistent-storage.rules
> @@ -53,7 +53,8 @@ KERNEL=="mspblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+=
>  
>  # by-path (parent device path)
>  ENV{DEVTYPE}=="disk", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id"
> -ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
> +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", KERNEL=="mmcblk[0-9]*rpmb", SYMLINK+="disk/
This looks wrong. Shouldn't there be a "|" in the middle?

by-path/$env{ID_PATH}-rpmb"
> +ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", KERNEL!="mmcblk[0-9]*rpmb", SYMLINK+="disk/by-path/$env{ID_PATH}"
Here and in other places too...

Zbyszek

>  ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
>  
>  # skip unpartitioned removable media devices from drivers which do not send "change" events
> @@ -66,6 +67,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DAT
>  KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
>    IMPORT{builtin}="blkid --noraid"
>  
> +# don't try to read Replay Protected Memory Block partitions
> +KERNEL=="mmcblk[0-9]*rpmb", GOTO="persistent_storage_end"
> +
>  # probe filesystem metadata of disks
>  KERNEL!="sr*", IMPORT{builtin}="blkid"
>  
> 
> _______________________________________________
> systemd-commits mailing list
> systemd-commits at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-commits


More information about the systemd-devel mailing list