{"action":"created","issue":{"url":"https://api.github.com/repos/systemd/systemd/issues/8066","repository_url":"https://api.github.com/repos/systemd/systemd","labels_url":"https://api.github.com/repos/systemd/systemd/issues/8066/labels{/name}","comments_url":"https://api.github.com/repos/systemd/systemd/issues/8066/comments","events_url":"https://api.github.com/repos/systemd/systemd/issues/8066/events","html_url":"https://github.com/systemd/systemd/pull/8066","id":293461314,"number":8066,"title":"udevadm: allow trigger command to be synchronous","user":{"login":"LittleCVR","id":832059,"avatar_url":"https://avatars1.githubusercontent.com/u/832059?v=4","gravatar_id":"","url":"https://api.github.com/users/LittleCVR","html_url":"https://github.com/LittleCVR","followers_url":"https://api.github.com/users/LittleCVR/followers","following_url":"https://api.github.com/users/LittleCVR/following{/other_user}","gists_url":"https://api.github.com/users/LittleCVR/gists{/gist_id}","starred_url":"https://api.github.com/users/LittleCVR/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LittleCVR/subscriptions","organizations_url":"https://api.github.com/users/LittleCVR/orgs","repos_url":"https://api.github.com/users/LittleCVR/repos","events_url":"https://api.github.com/users/LittleCVR/events{/privacy}","received_events_url":"https://api.github.com/users/LittleCVR/received_events","type":"User","site_admin":false},"labels":[{"id":219549617,"url":"https://api.github.com/repos/systemd/systemd/labels/udev","name":"udev","color":"f7c6c7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-02-01T09:36:23Z","updated_at":"2018-02-07T08:49:02Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/systemd/systemd/pulls/8066","html_url":"https://github.com/systemd/systemd/pull/8066","diff_url":"https://github.com/systemd/systemd/pull/8066.diff","patch_url":"https://github.com/systemd/systemd/pull/8066.patch"},"body":"There are cases that we want to trigger and settle only specific\r\ncommands. For example, let's say at boot time we want to make sure all\r\nthe graphics devices are working correctly because it's critical for\r\nbooting, but not the USB subsystem (we'll trigger USB events later). So\r\nwe do:\r\n\r\n```\r\nudevadm trigger --action=\"add\" --subsystem-match=\"graphics\"\r\nudevadm settle\r\n```\r\n\r\nHowever, we cannot block the kernel from emitting kernel events from\r\ndiscovering USB devices. So if any of the USB kernel event was emitted\r\nbefore the settle command, the settle command would still wait for the\r\nentire queue to complete. And if the USB event takes a long time to be\r\nprocessed, the system slows down.\r\n\r\nThe new `settle` option allows the `trigger` command to wait for only\r\nthe triggered events, and effectively solves this problem.\r\n\r\nThis closes #8009."},"comment":{"url":"https://api.github.com/repos/systemd/systemd/issues/comments/363698437","html_url":"https://github.com/systemd/systemd/pull/8066#issuecomment-363698437","issue_url":"https://api.github.com/repos/systemd/systemd/issues/8066","id":363698437,"user":{"login":"wuchengli","id":21325573,"avatar_url":"https://avatars1.githubusercontent.com/u/21325573?v=4","gravatar_id":"","url":"https://api.github.com/users/wuchengli","html_url":"https://github.com/wuchengli","followers_url":"https://api.github.com/users/wuchengli/followers","following_url":"https://api.github.com/users/wuchengli/following{/other_user}","gists_url":"https://api.github.com/users/wuchengli/gists{/gist_id}","starred_url":"https://api.github.com/users/wuchengli/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wuchengli/subscriptions","organizations_url":"https://api.github.com/users/wuchengli/orgs","repos_url":"https://api.github.com/users/wuchengli/repos","events_url":"https://api.github.com/users/wuchengli/events{/privacy}","received_events_url":"https://api.github.com/users/wuchengli/received_events","type":"User","site_admin":false},"created_at":"2018-02-07T08:49:02Z","updated_at":"2018-02-07T08:49:02Z","author_association":"NONE","body":"Re --exist-if-exists: we cannot use this. We have lots of different hardware and they can have different devices. We cannot specify the same device for \"settle\" to wait on."}}
{"actor":{"display_login":"wuchengli"}}