summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* networkctl: port from libudev to sd-deviceTom Gundersen2015-04-02
|
* libsystemd: add sd-device libraryTom Gundersen2015-04-02
| | | | | | | | | | | | This provides equivalent functionality to libudev-device, but in the systemd style. The public API only caters to creating sd_device objects from for devices that already exist in /sys, there is no support for listening for monitoring events or creating devices received over the udev netlink protocol. The private API contains the necessary functionality to make sd-device a drop-in replacement for libudev-device, but which we would not otherwise want to export.
* udev: net_id - improve commentsTom Gundersen2015-04-01
| | | | The dev_port concept is a bit confusing, expand on the comment a bit.
* udev: net_id - support multi-port enpo* device namesTom Gundersen2015-04-01
| | | | | | I'd argue that having firmware labels for such devices makes no sense, but they exist, so make sure we handle them as best as we can.
* udev: net_id - fix copy-paste errorTom Gundersen2015-04-01
| | | | In case pci_slot overflows we were truncating pci_path instead.
* libudev: monitor - improve loggingTom Gundersen2015-04-01
|
* shared: set - make argument to set_remove() constTom Gundersen2015-04-01
|
* mount: fix up wording in the commentMichal Sekletar2015-04-01
|
* mount: don't run quotaon only for network filesystemsLukas Nykryn2015-04-01
| | | | | | If you have for example ext4 on iscsi devices it is possible to setup qoutas there. Unfortunately, because such fstab entry contains _netdev, systemd will not add dependency to quotaon.service.
* hwdb: Update database of Bluetooth company identifiersMarcel Holtmann2015-03-31
|
* nspawn: fallback on bind mount when mknod failsAlban Crequy2015-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems abusively restrict mknod, even when the device node already exists in /dev. This is unfortunate because it prevents systemd-nspawn from creating the basic devices in /dev in the container. This patch implements a workaround: when mknod fails, fallback on bind mounts. Additionally, /dev/console was created with a mknod with the same major/minor as /dev/null before bind mounting a pts on it. This patch removes the mknod and creates an empty regular file instead. In order to test this patch, I used the following configuration, which I think should replicate the system with the abusive restriction on mknod: # grep devices /proc/self/cgroup 4:devices:/user.slice/restrict # cat /sys/fs/cgroup/devices/user.slice/restrict/devices.list c 1:9 r c 5:2 rw c 136:* rw # systemd-nspawn --register=false -D . v2: - remove "bind", it is not needed since there is already MS_BIND v3: - fix error management when calling touch() - fix lowercase in error message
* nspawn: drop sd_booted() checkLennart Poettering2015-03-31
| | | | | | | | | | | We have no such check in any of the other tools, hence don't have one in nspawn either. (This should make things nicer for Rocket, among other things) Note: removing this check does not mean that we support running nspawn on non-systemd. We explicitly don't. It just means that we remove the check for running it like that. You are still on your own if you do...
* nspawn: change filesystem type from "bind" to NULL in mount() syscallsIago López Galeiras2015-03-31
| | | | Try to keep syscalls as minimal as possible.
* man: fix line breaks in code examplesLennart Poettering2015-03-31
|
* ARM: detect-virt: detect QEMU/KVMAndrew Jones2015-03-31
| | | | | | | | | | | | | | | | | | QEMU/KVM guests do not have hypervisor nodes, but they do have fw-cfg nodes (since qemu v2.3.0-rc0). fw-cfg nodes are documented, see kernel doc Documentation/devicetree/bindings/arm/fw-cfg.txt, and therefore we should be able to rely on it in this detection. Unfortunately, we currently don't have enough information in the DT, or elsewhere, to determine if we're using KVM acceleration with QEMU or not, so we can only report 'qemu' at this time, even if KVM is in use. This shouldn't really matter in practice though, because if detect-virt is used interactively it will be clear to the user whether or not KVM acceleration is present by the overall speed of the guest. If used by a script, then the script's behavior should not change whether it's 'qemu' or 'kvm'. QEMU emulated guests and QEMU/KVM guests of the same type should behave identically, only the speed at which they run should differ.
* ARM: detect-virt: detect XenAndrew Jones2015-03-31
|
* detect-virt: use /proc/device-treeAndrew Jones2015-03-31
| | | | | | | Kernel doc Documentation/ABI/testing/sysfs-firmware-ofw says that the /proc/device-tree symlink should be used, as opposed to directly accessing /sys/firmware/devicetree/base. The former is ABI, but not the later.
* systemd-bootchart: Repair Entropy GraphAlexander Sverdlin2015-03-30
| | | | | | | Entropy Graph code doesn't handle the error condition if open() of /proc entry fails. Moreover, the file is only opened once and only first sample will contain the correct value because the return value of pread() is also not handled properly and file is not re-opened. Fix both problems.
* systemd-bootchart: Prevent leaking file descriptors in open-fdopen combinationAlexander Sverdlin2015-03-30
| | | | | Correctly handle the potential failure of fdopen() (because of OOM, for instance) after potentially successful open(). Prevent leaking open fd in such case.
* systemd-bootchart: Prevent closing random file descriptorsAlexander Sverdlin2015-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the kernel has no CONFIG_SCHED_DEBUG option set, systemd-bootchart produces empty .svg file. The reason for this is very fragile file descriptor logic in log_sample() and main() (/* do some cleanup, close fd's */ block). There are many places where file descriptors are closed on failure (missing SCHED_DEBUG provokes it), but there are several problems with it: - following iterations in the loop see that the descriptor is non zero and do not open the corresponding file again; - "some cleanup" code closes already closed files and the descriptors are reused already, in particular for resulting .svg file; - static "vmstat" and "schedstat" variables in log_sample() made the situation even worse. These are the strace fragments: [...] close(7) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) pread(7, 0xbea60a2c, 4095, 0) = -1 EBADF (Bad file descriptor) close(7) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) pread(7, 0xbea60a2c, 4095, 0) = -1 EBADF (Bad file descriptor) close(7) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) getdents64(4, /* 0 entries */, 32768) = 0 clock_gettime(CLOCK_MONOTONIC, {24, 783843501}) = 0 nanosleep({0, 5221792}, NULL) = 0 clock_gettime(CLOCK_MONOTONIC, {24, 789726835}) = 0 lseek(4, 0, SEEK_SET) = 0 pread(5, "nr_free_pages 52309\nnr_alloc_bat"..., 4095, 0) = 685 pread(6, "version 15\ntimestamp 4294939775\n"..., 4095, 0) = 86 getdents64(4, /* 99 entries */, 32768) = 2680 pread(7, 0xbea60a2c, 4095, 0) = -1 EBADF (Bad file descriptor) close(7) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) pread(8, 0xbea60a2c, 4095, 0) = -1 EBADF (Bad file descriptor) close(8) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) pread(9, 0xbea60a2c, 4095, 0) = -1 EBADF (Bad file descriptor) close(9) = -1 EBADF (Bad file descriptor) [...] where it obviously tries to close same and reused decriptors many times, also passing return code "-1" instead of descriptor... [...] close(7) = -1 EBADF (Bad file descriptor) close(-1) = -1 EBADF (Bad file descriptor) pipe2([7, 8], O_CLOEXEC) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb6fd0068) = 192 close(8) = 0 fcntl64(7, F_SETFD, 0) = 0 fstat64(7, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fd2000 read(7, "[ 0.074507] calling vfp_init"..., 4096) = 4096 [...] read(7, "s)\n[ 6.228910] UBIFS: reserve"..., 4096) = 4096 read(7, "trary Executable File Formats Fi"..., 4096) = 1616 read(7, "", 4096) = 0 close(7) = 0 wait4(192, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 192
* test: udev - add gdb supportTom Gundersen2015-03-27
|
* network: don't pass NULL to udev_device_get_driver()Tom Gundersen2015-03-27
|
* 50-udev-default.rules: don't run anything but REMOVE_CMD on removeHarald Hoyer2015-03-27
| | | | we don't want to run usb_id and input_id on ACTION=="remove"
* cdrom_id: unroll and simplify data check loopHarald Hoyer2015-03-27
| | | | | | | | | | | also removes this warning: src/udev/cdrom_id/cdrom_id.c: In function ‘cd_media_info.isra.13’: src/udev/cdrom_id/cdrom_id.c:612:12: warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true [-Wstrict-overflow] static int cd_media_info(struct udev *udev, int fd) ^
* fix gcc warnings about uninitialized variablesHarald Hoyer2015-03-27
| | | | | | | | | | | | | like: src/shared/install.c: In function ‘unit_file_lookup_state’: src/shared/install.c:1861:16: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized] return r < 0 ? r : state; ^ src/shared/install.c:1796:13: note: ‘r’ was declared here int r; ^
* networkd-dhcp6: Do not handle prefix expiryPatrik Flykt2015-03-27
| | | | | | Expiring prefixes need not be handled anymore as the kernel has been instructed not to create routes for DHCPv6 assigned addresses via the IFA_F_NOPREFIXROUTE flag.
* systemd-networkd: Use IFA_F_NOPREFIXROUTE with IPv6 addressesPatrik Flykt2015-03-27
| | | | | | | | | | | | The IFA_F_NOPREFIXROUTE flag prevents the kernel from creating new onlink prefixes when a DHCPv6 IPv6 address with a prefix length is set from user space. IPv6 routing will follow the onlink status from Router Advertisment Prefix Information options or any manually set route, which is the correct thing to do. As this flag has a larger value than what fits into an unsigned char, update the flag attribute to an uint32_t and set it with an IFA_FLAGS attribute when writing netlink messages to the kernel.
* sd-rtnl: Always enable IFA_FLAGSPatrik Flykt2015-03-27
| | | | | IFA_FLAGS is a discrete value and has no preprocessor #define defined for it. Fix this by always using the value.
* util: rework word parsing and c unescaping codeLennart Poettering2015-03-26
| | | | | | | | | | | When parsing words from input files, optionally automatically unescape the passed strings, controllable via a new flags parameter. Make use of this in tmpfiles, and port everything else over, too. This improves parsing quite a bit, since we no longer have to process the same string multiple times with different calls, where an earlier call might corrupt the input for a later call.
* importd: simplify expressionLennart Poettering2015-03-26
|
* tmpfiles: minor simplificationLennart Poettering2015-03-26
|
* TODO: Nothing to be done for IPv6 DAD, handled by kernelPatrik Flykt2015-03-25
|
* fstab-generator: don't accept missing root=, but accept root=noneTobias Hunger2015-03-25
| | | | | | | | | | | | | | | | | | | | | | | And other non-device entries (like fstab does). Mount whatever the user asked to be mounted on / on the kernel command line. Do less sanity check and do *not* bail out when the mount device looks strange or does not exist. This basically makes the changes for deviceless filesystems from yesterday unnecessary and is in line with what we do for filesystems set up in fstab. Remove some code that is now dead (reverting fb02a2775a65 and b0438462). [tomegun: - change patch title/description a bit. - don't touch the /usr logic, that would be a separate change and we don't currently have a convincing use-case for that. - don't bail out on /sys ro. This only makes sense in containers, where we would not be doing this anyway. If there is a use-case we could consider that as a separate patch.]
* tmpfiles: avoid out of bounds readThomas Hindoe Paaboel Andersen2015-03-24
| | | | Otherwise this will go wrong for 'v'.
* rules: storage - support MemoryStick (non-Pro) cardsMantas Mikulėnas2015-03-24
| | | | These are handled by a different driver than MemoryStick Pro.
* rules: storage - whitelist partitioned MS & MMC devicesKay Sievers2015-03-24
| | | | | | | | | | | | | | | | | | | | | | On Mon, Mar 23, 2015 at 8:55 AM, Mantas Mikulėnas <grawity@gmail.com> wrote: > On Tue, Mar 17, 2015 at 11:50 PM, Kay Sievers <kay@vrfy.org> wrote: >> On Tue, Mar 17, 2015 at 5:00 PM, Mantas Mikulėnas <grawity@gmail.com> >> wrote: >> > Accidentally dropped in 1aff20687f4868575. >> > --- >> > rules/60-persistent-storage.rules | 2 +- >> > 1 file changed, 1 insertion(+), 1 deletion(-) >> >> > +KERNEL!="loop*|mmcblk[0-9]*|mspblk[0-9]*|nvme*|sd*|sr*|vd*", >> > GOTO="persistent_storage_end" >> >> We can't do that, we need to ignore the mmc*rpmb devices: >> >> http://cgit.freedesktop.org/systemd/systemd/commit/?id=b87b01cf83947f467f3c46d9831cd67955fc46b9 >> >> Maybe "mmcblk*[0-9]" will work? > > Yeah, that would probably work (the names are like mmcblk0p1 etc.)
* TODOTom Gundersen2015-03-24
|
* timedatectl: remove unused variablesThomas Hindoe Paaboel Andersen2015-03-24
|
* man: Second example systemd-socket-proxyd does not need a Unix socket listener.David Strauss2015-03-24
|
* rules: storage - don't apply rules to remove eventsTom Gundersen2015-03-24
| | | | This line was accidentally lost in 52346b5f5424.
* timedate: remove daylight saving time handling and tzfile parserKay Sievers2015-03-24
| | | | | | | | | | | | We planned to support (the conceptually broken) daylight saving time/local time features in the kernel, SCSI, networking, FAT filesystem, but it turned out to be a race we cannot win and do not want to get involved. Systemd should not fiddle with daylight saving time or parse timezone information itself. Leave everything to glibc or tools like date(1) and do not make any promises or raise expectations that systemd should handle anything like this.
* timedatectl: fix when queried system has differn't timezoneShawn Landden2015-03-24
| | | | | | Also allow getting time from time(2) when BUS_TRANSPORT_MACHINE. v2: check for error
* po: update Russian translationSergey Ptashnick2015-03-24
| | | | Add strings for importd, following 587fec427c.
* bootchart: more useful error message for common errorShawn Landden2015-03-24
| | | | Reported-by: tfirg_ on IRC
* bootchart: remove duplicated code, prevent creating empty filesShawn Landden2015-03-24
| | | | | | | | | | | In Debian and rawhide Fedora, which have CONFIG_SCHEDSTATS=n, bootchart creates empty files in /run/log before printing an error. Stop doing that. Moreover this duplicated part of the code doesn't even have error checking so there is no error avoided by doing this early. Reported-by: tfirg_ on IRC
* fstab-generator: Do not check deviceless filesystemsTobias Hunger2015-03-24
| | | | There is no need to check those.
* fstab-generator: Support root on tmpfs (or other deviceless FS)Tobias Hunger2015-03-24
| | | | This allows for stateless systems.
* sd-rtnl: handle empty multi-part message from the kernelAlin Rauta2015-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We strips out NLMSG_DONE piece from a multi-part message adding into the receive queue only the messages containing actual data. If we send a request to the kernel for getting the forwarding database table (just an example), the response will be a multi-part message like below: 1. FDB entry 1; 2. FDB entry 2; 3. NLMSG_DONE; We strip out "3. NLMSG_DONE;" part and places into the receive queue a pointer to "1. FDB entry 1; 2. FDB entry 2". But if the FDB table is empty, the respose from the kernel will look like below: 1. NLMSG_DONE; We strip out "1. NLMSG_DONE;" part and since there is no actual data got, it continues waiting until reaching timeout. Therefore, a call to "sd_rtnl_call" to send and wait for a response from kernel will exit with timeout which is interpreted as error in communication. This patch puts the NLMSG_DONE message on the receive queue if it ends an empty multi-part message. This situation is detected in sd_rtnl_call() and in the callback code and NULL is returned to the caller instead. [tomegun: - added/reworded commit message - extend the same support to sd_rtnl_call_async() - drop debug logging from library, we only do this if something is really wrong, but an empty multi-part message is perfectly normal - modernize the code we touch whilst we are at it]
* man: add journal-remote.conf(5)Chris Morgan2015-03-22
|
* timedated: fix enable/disable reversalZbigniew Jędrzejewski-Szmek2015-03-21
| | | | | | | | | Bug introduced in 984f1b1d1b. The state was flipped later, but the enable/disable routine made use of the state to decide what to do. context_enable_ntp() and context_start_ntp() now get the desired state directly, so the Context parameter can be removed.