Commit Graph

1080 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
0fac4a277d mem: safeguard hash_fn 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
6b64dbb8cd buf: safeguard hash_fn 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
faa2c9e259 logger: safeguard hash_fn 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
d619051ff3 if: safeguard hash_index 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
16d623c25b bio: remove unused variable 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
9048df0690 client: smp safeguard ref_id 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
8b74860e7c copy: safeguard state initialization 2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
09ca8cce5c copy: smp safeguard state table
The following variables are used by copy_endio() and thus
may be called both synchronously and asynchronously:

st->error
st->active[]
st->table[]
2021-03-01 13:05:17 +01:00
Thomas Schoebel-Theuer
1920411c46 infra: adat to removal of user_lpath 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
ed680c298d copy: silence fallthrough warning 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
17161868ea compat: adapt to BIO_ flags conversion to enum 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
f3764ce4e5 infra: adapt to removal of shash_desc::flags 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
5237ca4b16 all: adapt to SO_SNDTIMEO_NEW 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
d0c5b5699f all: adapt to removal of get_ds()
See 736706bee3298208343a76096370e4f6a5c55915
2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
4b6163463d if: adapt to new queue_lock type 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
b85bc0f576 all: adapt to removal of current_kernel_time64() 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
2bf49d5a64 infra: comply to ISO C90
block/mars/kernel/sy_old/sy_generic.c:3164:2: warning: ISO C90 forbids variable length array ‘paths’ [-Wvla]
2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
bb6506476f aio: use old timespec for compatibility 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
0d885eeef8 main: adapt to time64_t 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
ffc818b1af mem: adapt to time64_t 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
dbdb5a5f95 proc: adapt time64_t 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
cc2af4a024 infra: adapt to time64_t 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
a339fc1810 say: adapt to time64_t 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
28a3a7c5fd compat: HAS_VFS_READDIR => MARS_HAS_ITERATE_DIR
iterate_dir() should be the new default, while vfs_readdir()
is a deprecated exception.
2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
5097f10253 compat: adapt to new ksys_io_submit and siblings 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
5f65747fe3 compat: adapt to kernel 4.17 and new prepatch 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
9c6fbb8fc6 main: adapt to s64 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
ecdd4f5ef4 logger: adapt to s64 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
bf80eae6aa compat: move detection to compat.h 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
f21c58c480 brick_say: use mars_rename at MARS_HAS_PREPATCH_V2 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
31bb5cb182 porting: prefer READ_ONCE in place of ACCESS_ONCE 2021-02-10 13:36:06 +01:00
Thomas Schoebel-Theuer
f24ea2752f limiter: fix divide by zero
Feb 10 04:41:59 t1 kernel: divide error: 0000 [#1] SMP KASAN NOPTI
Feb 10 04:41:59 t1 kernel: CPU: 5 PID: 13507 Comm: mars_copy7 Not tainted 5.4.86+ #237
Feb 10 04:41:59 t1 kernel: Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.12.0-59-gc9ba527-rebuilt.opensuse.org 04/01/2014
Feb 10 04:41:59 t1 kernel: RIP: 0010:mars_limit+0x533/0x6bb [mars]
Feb 10 04:41:59 t1 kernel: Code: 15 48 63 95 e4 fe ff ff 48 ff c0 49 89 47 48 49 01 d5 4d 89 6f 50 49 69 47 50 00 ca 9a 3b 49 8d 7f 20 41 bd ff ff ff 7f 48 99 <49> f7 fc 48 3d ff ff ff 7f 4c 0f 4e e8 48 89 f8 48 c1 e8 03 8a 04
Feb 10 04:41:59 t1 kernel: RSP: 0018:ffff888033b87a58 EFLAGS: 00010212
Feb 10 04:41:59 t1 kernel: RAX: 00001a5e39dc8000 RBX: dffffc0000000000 RCX: 0000000000000017
Feb 10 04:41:59 t1 kernel: RDX: 0000000000000000 RSI: 0000000225c17d03 RDI: ffffffffa03bdce0
Feb 10 04:41:59 t1 kernel: RBP: ffff888033b87b98 R08: fffffbfff073f9ce R09: 0000000000000001
Feb 10 04:41:59 t1 kernel: R10: 0000000000000000 R11: ffffffff839fce6b R12: 0000000000000000
Feb 10 04:41:59 t1 kernel: R13: 000000007fffffff R14: 0000000025e89700 R15: ffffffffa03bdcc0
Feb 10 04:41:59 t1 kernel: FS:  0000000000000000(0000) GS:ffff88818b940000(0000) knlGS:0000000000000000
Feb 10 04:41:59 t1 kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Feb 10 04:41:59 t1 kernel: CR2: 00005651d25b7b98 CR3: 0000000171668000 CR4: 0000000000340ee0
Feb 10 04:41:59 t1 kernel: Call Trace:
Feb 10 04:41:59 t1 kernel:  ? ranking_compute+0x1a8/0x1a8 [mars]
Feb 10 04:41:59 t1 kernel:  ? _brick_block_alloc+0x2ff/0x590 [mars]
Feb 10 04:41:59 t1 kernel:  ? __brick_block_alloc+0x8a/0x8a [mars]
Feb 10 04:41:59 t1 kernel:  ? kasan_unpoison_shadow+0xf/0x2e
Feb 10 04:41:59 t1 kernel:  ? _new_aspect+0x464/0x4ab [mars]
Feb 10 04:41:59 t1 kernel:  mars_limit_sleep+0xa/0x57 [mars]
Feb 10 04:41:59 t1 kernel:  bio_ref_get+0x762/0xc4c [mars]
Feb 10 04:41:59 t1 kernel:  _make_mref+0x48c/0x73e [mars]
Feb 10 04:41:59 t1 kernel:  _next_state+0x3f6/0xc4b [mars]
Feb 10 04:41:59 t1 kernel:  _run_copy+0x2cc/0x6f7 [mars]
Feb 10 04:41:59 t1 kernel:  _copy_thread+0x3dd/0x84c [mars]
Feb 10 04:41:59 t1 kernel:  ? _run_copy+0x6f7/0x6f7 [mars]
Feb 10 04:41:59 t1 kernel:  ? lock_downgrade+0x55b/0x55b
Feb 10 04:41:59 t1 kernel:  ? do_raw_spin_lock+0x144/0x1ef
Feb 10 04:41:59 t1 kernel:  ? atomic_add_return.constprop.2+0x1e/0x1e
Feb 10 04:41:59 t1 kernel:  ? add_wait_queue+0x85/0x85
Feb 10 04:41:59 t1 kernel:  ? lockdep_hardirqs_on+0x433/0x482
Feb 10 04:41:59 t1 kernel:  ? test_bit+0x1d/0x27
Feb 10 04:41:59 t1 kernel:  kthread+0x2be/0x2cd
Feb 10 04:41:59 t1 kernel:  ? _run_copy+0x6f7/0x6f7 [mars]
Feb 10 04:41:59 t1 kernel:  ? kthread_worker_fn+0x3ef/0x3ef
Feb 10 04:41:59 t1 kernel:  ret_from_fork+0x27/0x50
Feb 10 04:41:59 t1 kernel: Modules linked in: mars cls_u32 sch_netem sch_tbf sch_prio xt_mark lz4_compress lz4_decompress virtio_console crct10dif_pclmul virtio_balloon crc32_pclmul usbhid virtio_net net_failover failover virtio_blk xhci_pci xhci_hcd crc32c_intel usbcore virtio_pci virtio_ring usb_common virtio [last unloaded: mars]
Feb 10 04:41:59 t1 kernel: ---[ end trace e009385d7938b1c4 ]---
2021-02-10 13:31:55 +01:00
Thomas Schoebel-Theuer
c1820e0783 main: dont replay beyond primary during sync 2021-02-07 19:33:06 +01:00
Thomas Schoebel-Theuer
fac0bd5a47 logger: fix scarce scheduling deadlock 2021-02-07 19:33:04 +01:00
Thomas Schoebel-Theuer
aa7ef9451b logger: report ranking data 2021-02-07 19:30:30 +01:00
Thomas Schoebel-Theuer
69093f37f5 logger: report bailout 2021-02-07 19:30:30 +01:00
Thomas Schoebel-Theuer
4ad2204398 logger: report any banning 2021-02-07 19:30:30 +01:00
Thomas Schoebel-Theuer
189ba67e7a logger: simplify pressure calculation 2021-02-07 19:30:30 +01:00
Thomas Schoebel-Theuer
8a04c4cbae main: fix sync starvation
Commit e20800c47c did too much:
replay may take total preference when there is a permanent
write load.

Only prefer replay when there are multiple logfiles.
2021-02-06 15:22:24 +01:00
Thomas Schoebel-Theuer
a77b8d1190 main: assure minimum sync progress 2021-02-06 15:22:23 +01:00
Thomas Schoebel-Theuer
ef2997206b main: update syncstatus more frequently 2021-02-06 15:08:07 +01:00
Thomas Schoebel-Theuer
35466f0396 logger: show pressure_mode for debugging 2021-02-06 15:08:07 +01:00
Thomas Schoebel-Theuer
133ff979b5 bio: allow throttling for testing 2021-02-06 15:08:07 +01:00
Thomas Schoebel-Theuer
c3e98aec5d if: deactivate mars_congested earlier 2021-01-24 13:04:07 +01:00
Thomas Schoebel-Theuer
57eaf3c66b main: fix typo 2021-01-19 15:07:04 +01:00
Thomas Schoebel-Theuer
9442916de2 main: local systemd_trigger 2020-12-22 08:58:02 +01:00
Gabriel Francisco
7b49ae9dde compat: fix parent dir locking 2020-11-30 05:26:57 +00:00
Thomas Schoebel-Theuer
545c5c6001 main: fix hostname prefix matching 2020-11-26 10:07:04 +01:00
Thomas Schoebel-Theuer
e20800c47c main: fix hanging replay progress during long-lasting sync 2020-11-25 16:48:37 +01:00
Thomas Schoebel-Theuer
448a4906d0 infra: fix ordered_readlink return status 2020-11-21 09:44:29 +01:00