If a USB device is marked as removable, it is often a SATA/PATA disk
in an enclosure (note that flash card readers and usb storage sticks
are always marked as removable). In this case, try running ata_id
(which sends ATA commands wrapped in SCSI ATA PASS THROUGH commands)
to get information about the disk. If this fails, just fall back to
running usb_id since it could be the device isn't an ATA device at
all or the device doesn't have a SAT layer.
This extra information is nice to have as it indicates if it is
suitable to send e.g. SMART commands to the disk, whether the disk
supports power management and so on. Additionally, the VPD and serial
number returned by ata_id is usually more accurate as it stems from
the disk itself instead of the enclosure.
Note that udisks has been doing this for a while
KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
so this change shouldn't be too disruptive (udisks-probe-ata-smart
also sends ATA commands via the ATA PASS THROUGH command).
Signed-off-by: David Zeuthen <davidz@redhat.com>
https://bugzilla.redhat.com/show_bug.cgi?id=676302
systemd now watches /run/initramfs/plymouth and generates messages
exactly when that file exists. Hence we don't need the sending of the
signals anymore.
Set hostname to <eeepc>.
Found ordering cycle on sysinit.target/start
Walked on cycle path to systemd-tmpfiles-setup.service/start
Walked on cycle path to local-fs.target/start
Walked on cycle path to fedora-storage-init.service/start
Walked on cycle path to fedora-wait-storage.service/start
Walked on cycle path to udev-settle.service/start
Walked on cycle path to udev.service/start
Walked on cycle path to udev.socket/start
Walked on cycle path to sysinit.target/start
Breaking ordering cycle by deleting job systemd-tmpfiles-setup.service/start
This barrier service is usually not enabled by default. If enabled,
it acts as a barrier for basic.target -- so all later services will
wait for udev completely finishing its coldplug run.
It might be enabled just unconditionally, or pulled-in on-demand by
broken or non-hotplug-aware services that assume a fully populated
/dev at startup.
On Friday 2011-03-18 01:41, Lennart Poettering wrote:
>On Fri, 18.03.11 00:18, Jan Engelhardt (jengelh@medozas.de) wrote:
>
>> Meanwhile, I have two new suggestions.
>
>I have one too (or actually Kay came up with it), and I think you are
>going to like it:
>
>Start with showing input feedback as we currently do. If the user then
>presses TAB the stars disappear, and instead we show "(no echo)" or
>so. Then, the user can proceed with typing his password without
>asterisks.
>[...]
Incorporating Graham's suggestion to use BKSP instead:
The following changes since commit 65c9e46752:
tainted: don't check if /usr is a mount point, only if it's not already mounted at startup (2011-03-24 22:32:21 +0100)
are available in the git repository at:
git://dev.medozas.de/systemd master
Jan Engelhardt (1):
ask-password: provide a way to activate a silent prompt
src/ask-password-api.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
Instead of the /dev/.run trick we have currently implemented, we decided
to move the early-boot runtime dir to /run.
An existing /var/run directory is bind-mounted to /run. If /var/run is
already a symlink, no action is taken.
An existing /var/lock directory is bind-mounted to /run/lock.
If /var/lock is already a symlink, no action is taken.
To implement the directory vs. symlink logic, we have a:
ConditionPathIsDirectory=
now, which is used in the mount units.
Skipped mount unit in case of symlink:
$ systemctl status var-run.mount
var-run.mount - Runtime Directory
Loaded: loaded (/lib/systemd/system/var-run.mount)
Active: inactive (dead)
start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago
Where: /var/run
What: /run
CGroup: name=systemd:/system/var-run.mount
The systemd rpm needs to make sure to add something like:
%pre
mkdir -p -m0755 /run >/dev/null 2>&1 || :
or it needs to be added to filesystem.rpm.
Udev -git already uses /run if that exists, and is writable at bootup.
Otherwise it falls back to the current /dev/.udev.
Dracut and plymouth need to be adopted to switch from /dev/.run to run
too.
Cheers,
Kay
Warning: noted but unhandled ioctl 0x641e with no size/direction hints
Syscall param socketcall.setsockopt(optval) points to uninitialised byte(s)
at 0x6A30BAA: setsockopt (syscall-template.S:82)
by 0x4E36E1C: udev_monitor_filter_update (libudev-monitor.c:347)
by 0x4E36ED8: udev_monitor_enable_receiving (libudev-monitor.c:373)
by 0x8A9E68E: I830ScreenInit (intel_driver.c:838)
by 0x42EE9E: AddScreen (dispatch.c:3890)
by 0x471561: InitOutput (xf86Init.c:738)
by 0x422C18: main (main.c:205)
Location 0x7ff0000c2 is 2 bytes inside local var "filter"
declared at libudev-monitor.c:256, in frame #1 of thread 1
Uninitialised value was created by a stack allocation
at 0x4E30860: ??? (in /lib64/libudev.so.0.10.0)
Thanks to Zdenek Kabelac.
Reading of keymaps is aborted when EINVAL is returned from EVIOCGETKEYCODE.
Scan codes are not always continuous ranges of values starting at 0, so this
can result in not getting the full keymap for a device. Instead, continue
processing if EINVAL is returned.
We should bind the udev socket from systemd, so we are sure
that the abstract namespace socket is always bound by a root
process and there is never a window during an update where
an untrusted process can steal our socket.
Also split the udev.service file, so that the daemon can be
updated/restarted without triggering any coldplug events.