mirror of
https://github.com/systemd/systemd
synced 2025-09-28 08:14:46 +02:00
Compare commits
10 Commits
712fffd4b8
...
df49792e01
Author | SHA1 | Date | |
---|---|---|---|
![]() |
df49792e01 | ||
![]() |
4fcc033b54 | ||
![]() |
885598f36c | ||
![]() |
b433300e4c | ||
![]() |
7c08f24a50 | ||
![]() |
4707ae99cd | ||
![]() |
973fa2cd4f | ||
![]() |
9786ba1386 | ||
![]() |
8f13ef254b | ||
![]() |
ecb3e9fba3 |
10
TODO
10
TODO
@ -20,6 +20,12 @@ Janitorial Clean-ups:
|
|||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
|
* add "systemd-analyze debug" + AttachDebugger= in unit files: The former
|
||||||
|
specifies a command to execute; the latter specifies that an already running
|
||||||
|
"systemd-analyze debug" instance shall be contacted and execution paused
|
||||||
|
until it gives an OK. That way, tools like gdb or strace can be safely be
|
||||||
|
invoked on processes forked off PID 1.
|
||||||
|
|
||||||
* expose MS_NOSYMFOLLOW in various places
|
* expose MS_NOSYMFOLLOW in various places
|
||||||
|
|
||||||
* tpm2: support a PIN policy, i.e. allowing windows-style short authentication
|
* tpm2: support a PIN policy, i.e. allowing windows-style short authentication
|
||||||
@ -808,9 +814,6 @@ Features:
|
|||||||
picked up by systemd unless they contain a medium. This would mirror
|
picked up by systemd unless they contain a medium. This would mirror
|
||||||
the behaviour we already have for CD drives.
|
the behaviour we already have for CD drives.
|
||||||
|
|
||||||
* networkd/udev: implement SR_IOV configuration in .link files:
|
|
||||||
http://lists.freedesktop.org/archives/systemd-devel/2015-January/027451.html
|
|
||||||
|
|
||||||
* hostnamectl: show root image uuid
|
* hostnamectl: show root image uuid
|
||||||
|
|
||||||
* Find a solution for SMACK capabilities stuff:
|
* Find a solution for SMACK capabilities stuff:
|
||||||
@ -1319,7 +1322,6 @@ Features:
|
|||||||
for all routes to it. possibly a second default for DHCP routes.
|
for all routes to it. possibly a second default for DHCP routes.
|
||||||
- allow Name= to be specified repeatedly in the [Match] section. Maybe also
|
- allow Name= to be specified repeatedly in the [Match] section. Maybe also
|
||||||
support Name=foo*|bar*|baz ?
|
support Name=foo*|bar*|baz ?
|
||||||
- duplicate address check for static IPs (like ARPCHECK in network-scripts)
|
|
||||||
- whenever uplink info changes, make DHCP server send out FORCERENEW
|
- whenever uplink info changes, make DHCP server send out FORCERENEW
|
||||||
|
|
||||||
* Figure out how to do unittests of networkd's state serialization
|
* Figure out how to do unittests of networkd's state serialization
|
||||||
|
@ -220,6 +220,7 @@ manpages = [
|
|||||||
'sd_bus_open_system_remote',
|
'sd_bus_open_system_remote',
|
||||||
'sd_bus_open_system_with_description',
|
'sd_bus_open_system_with_description',
|
||||||
'sd_bus_open_user',
|
'sd_bus_open_user',
|
||||||
|
'sd_bus_open_user_machine',
|
||||||
'sd_bus_open_user_with_description',
|
'sd_bus_open_user_with_description',
|
||||||
'sd_bus_open_with_description'],
|
'sd_bus_open_with_description'],
|
||||||
''],
|
''],
|
||||||
|
@ -1003,6 +1003,9 @@ want_blkid = get_option('blkid')
|
|||||||
if want_blkid != 'false' and not skip_deps
|
if want_blkid != 'false' and not skip_deps
|
||||||
libblkid = dependency('blkid', required : want_blkid == 'true')
|
libblkid = dependency('blkid', required : want_blkid == 'true')
|
||||||
have = libblkid.found()
|
have = libblkid.found()
|
||||||
|
|
||||||
|
conf.set10('HAVE_BLKID_PROBE_SET_HINT',
|
||||||
|
have and cc.has_function('blkid_probe_set_hint', dependencies : libblkid))
|
||||||
else
|
else
|
||||||
have = false
|
have = false
|
||||||
libblkid = []
|
libblkid = []
|
||||||
|
@ -104,7 +104,7 @@ KERNEL=="vd*[0-9]", ENV{ID_PATH}=="pci-*", SYMLINK+="disk/by-path/virtio-$env{ID
|
|||||||
|
|
||||||
# probe filesystem metadata of optical drives which have a media inserted
|
# probe filesystem metadata of optical drives which have a media inserted
|
||||||
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
|
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
|
||||||
IMPORT{builtin}="blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
|
IMPORT{builtin}="blkid --hint=session_offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
|
||||||
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
|
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
|
||||||
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
|
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
|
||||||
IMPORT{builtin}="blkid --noraid"
|
IMPORT{builtin}="blkid --noraid"
|
||||||
|
@ -1988,7 +1988,7 @@ static VOID config_entry_add_linux(
|
|||||||
path = PoolPrint(L"\\EFI\\Linux\\%s", f->FileName);
|
path = PoolPrint(L"\\EFI\\Linux\\%s", f->FileName);
|
||||||
|
|
||||||
entry = config_entry_add_loader(config, device, LOADER_LINUX, f->FileName, 'l',
|
entry = config_entry_add_loader(config, device, LOADER_LINUX, f->FileName, 'l',
|
||||||
os_name_pretty ? : (os_name ? : os_id), path,
|
os_name_pretty ?: os_name, path,
|
||||||
os_version ?: (os_version_id ? : os_build_id));
|
os_version ?: (os_version_id ? : os_build_id));
|
||||||
|
|
||||||
FreePool(content);
|
FreePool(content);
|
||||||
|
@ -1516,8 +1516,8 @@ _public_ int sd_bus_open_system_remote(sd_bus **ret, const char *host) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int bus_set_address_machine(sd_bus *b, bool user, const char *machine) {
|
int bus_set_address_machine(sd_bus *b, bool user, const char *machine) {
|
||||||
|
_cleanup_free_ char *a = NULL;
|
||||||
const char *rhs;
|
const char *rhs;
|
||||||
char *a;
|
|
||||||
|
|
||||||
assert(b);
|
assert(b);
|
||||||
assert(machine);
|
assert(machine);
|
||||||
|
@ -771,7 +771,7 @@ static int method_set_local_rtc(sd_bus_message *m, void *userdata, sd_bus_error
|
|||||||
log_debug_errno(r, "Failed to get hardware clock, ignoring: %m");
|
log_debug_errno(r, "Failed to get hardware clock, ignoring: %m");
|
||||||
else {
|
else {
|
||||||
/* And set the system clock with this */
|
/* And set the system clock with this */
|
||||||
mktime_or_timegm(&tm, !c->local_rtc);
|
ts.tv_sec = mktime_or_timegm(&tm, !c->local_rtc);
|
||||||
|
|
||||||
if (clock_settime(CLOCK_REALTIME, &ts) < 0)
|
if (clock_settime(CLOCK_REALTIME, &ts) < 0)
|
||||||
log_debug_errno(errno, "Failed to update system clock, ignoring: %m");
|
log_debug_errno(errno, "Failed to update system clock, ignoring: %m");
|
||||||
|
@ -238,10 +238,16 @@ static int builtin_blkid(sd_device *dev, int argc, char *argv[], bool test) {
|
|||||||
|
|
||||||
static const struct option options[] = {
|
static const struct option options[] = {
|
||||||
{ "offset", required_argument, NULL, 'o' },
|
{ "offset", required_argument, NULL, 'o' },
|
||||||
|
{ "hint", required_argument, NULL, 'H' },
|
||||||
{ "noraid", no_argument, NULL, 'R' },
|
{ "noraid", no_argument, NULL, 'R' },
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
errno = 0;
|
||||||
|
pr = blkid_new_probe();
|
||||||
|
if (!pr)
|
||||||
|
return log_device_debug_errno(dev, errno_or_else(ENOMEM), "Failed to create blkid prober: %m");
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
int option;
|
int option;
|
||||||
|
|
||||||
@ -250,12 +256,28 @@ static int builtin_blkid(sd_device *dev, int argc, char *argv[], bool test) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
switch (option) {
|
switch (option) {
|
||||||
|
case 'H':
|
||||||
|
#if HAVE_BLKID_PROBE_SET_HINT
|
||||||
|
errno = 0;
|
||||||
|
r = blkid_probe_set_hint(pr, optarg, 0);
|
||||||
|
if (r < 0)
|
||||||
|
return log_device_error_errno(dev, errno_or_else(ENOMEM), "Failed to use '%s' probing hint: %m", optarg);
|
||||||
|
break;
|
||||||
|
#else
|
||||||
|
/* Use the hint <name>=<offset> as probing offset for old versions */
|
||||||
|
optarg = strchr(optarg, '=');
|
||||||
|
if (!optarg)
|
||||||
|
/* no value means 0, do nothing for old versions */
|
||||||
|
break;
|
||||||
|
++optarg;
|
||||||
|
_fallthrough_;
|
||||||
|
#endif
|
||||||
case 'o':
|
case 'o':
|
||||||
r = safe_atoi64(optarg, &offset);
|
r = safe_atoi64(optarg, &offset);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_device_error_errno(dev, r, "Failed to parse '%s' as an integer: %m", optarg);
|
return log_device_error_errno(dev, r, "Failed to parse '%s' as an integer: %m", optarg);
|
||||||
if (offset < 0)
|
if (offset < 0)
|
||||||
return log_device_error_errno(dev, SYNTHETIC_ERRNO(ERANGE), "Invalid offset %"PRIi64": %m", offset);
|
return log_device_error_errno(dev, SYNTHETIC_ERRNO(EINVAL), "Invalid offset %"PRIi64": %m", offset);
|
||||||
break;
|
break;
|
||||||
case 'R':
|
case 'R':
|
||||||
noraid = true;
|
noraid = true;
|
||||||
@ -263,11 +285,6 @@ static int builtin_blkid(sd_device *dev, int argc, char *argv[], bool test) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
errno = 0;
|
|
||||||
pr = blkid_new_probe();
|
|
||||||
if (!pr)
|
|
||||||
return log_device_debug_errno(dev, errno > 0 ? errno : ENOMEM, "Failed to create blkid prober: %m");
|
|
||||||
|
|
||||||
blkid_probe_set_superblocks_flags(pr,
|
blkid_probe_set_superblocks_flags(pr,
|
||||||
BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
|
BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID |
|
||||||
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE |
|
||||||
@ -287,7 +304,7 @@ static int builtin_blkid(sd_device *dev, int argc, char *argv[], bool test) {
|
|||||||
errno = 0;
|
errno = 0;
|
||||||
r = blkid_probe_set_device(pr, fd, offset, 0);
|
r = blkid_probe_set_device(pr, fd, offset, 0);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_device_debug_errno(dev, errno > 0 ? errno : ENOMEM, "Failed to set device to blkid prober: %m");
|
return log_device_debug_errno(dev, errno_or_else(ENOMEM), "Failed to set device to blkid prober: %m");
|
||||||
|
|
||||||
log_device_debug(dev, "Probe %s with %sraid and offset=%"PRIi64, devnode, noraid ? "no" : "", offset);
|
log_device_debug(dev, "Probe %s with %sraid and offset=%"PRIi64, devnode, noraid ? "no" : "", offset);
|
||||||
|
|
||||||
@ -301,7 +318,7 @@ static int builtin_blkid(sd_device *dev, int argc, char *argv[], bool test) {
|
|||||||
errno = 0;
|
errno = 0;
|
||||||
nvals = blkid_probe_numof_values(pr);
|
nvals = blkid_probe_numof_values(pr);
|
||||||
if (nvals < 0)
|
if (nvals < 0)
|
||||||
return log_device_debug_errno(dev, errno > 0 ? errno : ENOMEM, "Failed to get number of probed values: %m");
|
return log_device_debug_errno(dev, errno_or_else(ENOMEM), "Failed to get number of probed values: %m");
|
||||||
|
|
||||||
for (i = 0; i < nvals; i++) {
|
for (i = 0; i < nvals; i++) {
|
||||||
if (blkid_probe_get_value(pr, i, &name, &data, NULL) < 0)
|
if (blkid_probe_get_value(pr, i, &name, &data, NULL) < 0)
|
||||||
|
@ -86,7 +86,7 @@ KERNEL=="vd*[0-9]", ENV{ID_PATH}=="pci-*", SYMLINK+="disk/by-path/virtio-$env{ID
|
|||||||
|
|
||||||
# probe filesystem metadata of optical drives which have a media inserted
|
# probe filesystem metadata of optical drives which have a media inserted
|
||||||
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
|
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
|
||||||
IMPORT{builtin}="blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
|
IMPORT{builtin}="blkid --hint=session_offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
|
||||||
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
|
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
|
||||||
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
|
KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
|
||||||
IMPORT{builtin}="blkid --noraid"
|
IMPORT{builtin}="blkid --noraid"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user