Systemd/src/test
Lennart Poettering fa6ac76083 journald: process SIGBUS for the memory maps we set up
Even though we use fallocate() it appears that file systems like btrfs
will trigger SIGBUS on certain low-disk-space situation. We should
handle that, hence catch the signal, add it to a list of invalidated
pages, and replace the page with an empty memory area. After each write
check if SIGBUS was triggered, and consider the write invalid if it was.

This should make journald a lot more robust with file systems where
fallocate() is not reliable, for example all CoW file systems
(btrfs...), where changing written data can fail with disk full errors.

https://bugzilla.redhat.com/show_bug.cgi?id=1045810
2015-01-05 01:40:51 +01:00
..
.gitignore test: generate tests for OrderedHashmap from Hashmap tests 2014-10-23 17:38:02 +02:00
Makefile
test-architecture.c condition: properly allow passing back errors from condition checks 2014-11-06 14:21:10 +01:00
test-async.c tests: add missing unlink 2014-08-18 18:43:48 +02:00
test-barrier.c test-barrier: add checks after the barrier constructor 2014-10-03 04:04:42 +02:00
test-boot-timestamps.c treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
test-btrfs.c machined: add support for reporting image size via btrfs quota 2014-12-28 02:08:40 +01:00
test-calendarspec.c calendarspec: parse 'quarterly' and 'semi-annually' as shortcuts 2014-10-27 18:09:26 +01:00
test-cap-list.c capability: use /proc/sys/kernel/cap_last_cap 2014-12-29 14:05:38 +01:00
test-capability.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
test-cgroup-mask.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-cgroup-util.c treewide: introduce UID_INVALID (and friends) as macro for (uid_t) -1 2014-11-28 20:55:04 +01:00
test-cgroup.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-condition.c test-condition: add more test cases 2014-12-11 18:32:57 +01:00
test-conf-files.c treewide: convert some left-over (usec_t) -1 to USEC_INFINITY 2014-11-28 20:55:04 +01:00
test-copy.c copy: use btrfs reflinking only whe we know we copy full files 2014-12-12 17:30:25 +01:00
test-daemon.c core: allow informing systemd about service status changes with RELOADING=1 and STOPPING=1 sd_notify() messages 2014-08-21 17:24:21 +02:00
test-date.c test-date: don't fail test if log_max_level is higher than LOG_INFO 2014-09-30 23:40:40 +02:00
test-device-nodes.c shared/util: fix off-by-one error in tag_to_udev_node 2013-10-06 18:29:12 -04:00
test-ellipsize.c test: test for ellipsize 2013-10-13 17:56:54 -04:00
test-engine.c Make bus errno mappings non-static 2014-10-31 11:32:00 -04:00
test-env-replace.c
test-execute.c test-execute: add tests for UMask directive 2014-12-11 18:32:57 +01:00
test-fdset.c tests: add test for fdset_iterate 2014-08-18 18:43:52 +02:00
test-fileio.c env-util: don't include files from src/core/ 2014-12-23 19:15:27 +01:00
test-hashmap-plain.c test: hashmap-plain - make coverity happy 2014-11-05 16:54:22 +01:00
test-hashmap.c test: generate tests for OrderedHashmap from Hashmap tests 2014-10-23 17:38:02 +02:00
test-helper.h replace tabs with spaces in some files 2014-02-21 03:50:12 +01:00
test-hostname.c treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
test-id128.c Always prefer our headers to system headers 2014-07-31 08:56:03 -04:00
test-install.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-ipcrm.c logind: automatically remove SysV + POSIX IPC objects when the users owning them fully log out 2014-03-14 01:49:44 +01:00
test-job-type.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-json.c shared: json - support escaping utf16 surrogate pairs 2014-12-22 20:27:20 +01:00
test-libudev.c udev: switch to systemd logging functions 2014-11-13 13:12:57 +01:00
test-list.c list: make our list macros a bit easier to use by not requring type spec on each invocation 2013-10-14 06:11:19 +02:00
test-locale-util.c tests: add test-locale-util 2014-10-31 10:57:21 +01:00
test-log.c Remove unnecessary casts in printfs 2014-05-15 15:29:58 +02:00
test-loopback.c test: loopback - parse logging env var 2014-12-29 01:59:49 +01:00
test-namespace.c util: replace close_pipe() with new safe_close_pair() 2014-03-24 03:22:44 +01:00
test-ns.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
test-path-util.c systemctl: refuse to edit runtime dropins when they already exist in /etc 2014-12-16 00:30:34 -05:00
test-path.c tree-wide: spelling fixes 2014-12-30 20:07:04 -05:00
test-prioq.c hashmap: introduce hash_ops to make struct Hashmap smaller 2014-09-15 16:08:50 +02:00
test-pty.c tree-wide: use our memset() macros instead of memset() itself 2014-12-11 16:58:45 +01:00
test-ratelimit.c tests: add test-ratelimit 2014-06-24 02:40:50 +02:00
test-replace-var.c
test-ring.c tree-wide: use our memset() macros instead of memset() itself 2014-12-11 16:58:45 +01:00
test-rtnl-manual.c sd-rtnl: fix broken test cases and add support for tunnel 2014-04-03 18:09:24 +02:00
test-sched-prio.c tests: fix some tests to pass in koji 2014-10-12 17:31:02 -04:00
test-set.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-sigbus.c journald: process SIGBUS for the memory maps we set up 2015-01-05 01:40:51 +01:00
test-sleep.c Make test-login and test-sleep output debugging 2013-09-17 16:44:38 -04:00
test-socket-util.c treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
test-strbuf.c treewide: correct spacing near eol in code comments 2014-12-11 15:10:03 +01:00
test-strip-tab-ansi.c
test-strv.c strv: ass new strv_is_uniq() and strv_reverse() calls 2014-12-19 02:07:42 +01:00
test-strxcpyx.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-tables.c core: rearrange code so that libsystemd/sd-bus/ does not include header files from core 2014-12-23 19:15:27 +01:00
test-time.c Do not format USEC_INFINITY as NULL 2014-09-29 11:09:39 -04:00
test-tmpfiles.c test: only use assert_se 2014-10-04 23:55:35 +02:00
test-udev.c tmpfiles: add new line type 'v' for creating btrfs subvolumes 2014-12-28 02:08:40 +01:00
test-uid-range.c treewide: introduce UID_INVALID (and friends) as macro for (uid_t) -1 2014-11-28 20:55:04 +01:00
test-unaligned.c shared: unaligned - use void* instead of unaligned be16_t* 2014-11-05 16:54:22 +01:00
test-unit-file.c load-fragment: allow quoting in command name and document allowed escapes 2014-12-18 19:26:21 -05:00
test-unit-name.c test-unit-name: add more tests 2014-12-13 15:12:38 +01:00
test-utf8.c shared: utf8 - support decoding the full utf16 2014-12-22 20:26:53 +01:00
test-util.c macro: add DIV_ROUND_UP() 2014-12-30 01:39:01 +01:00
test-watchdog.c treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
test-xml.c bus: add basic dbus1 policy parser 2014-06-06 19:41:24 +02:00