Thomas Schoebel-Theuer
e1426525cd
infra: protect lamport clock against illegal future values
2018-01-31 08:09:00 +01:00
Thomas Schoebel-Theuer
5818d254ce
main: remote_trigger after deletions
2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
495c42c9d9
main: remote_trigger on open-count changes
2018-01-31 07:50:50 +01:00
Thomas Schoebel-Theuer
5cff1bac2a
main: remote_trigger only from primary to secondaries
2018-01-31 07:50:30 +01:00
Thomas Schoebel-Theuer
de4263e8b9
main: remove dead code
2018-01-31 07:50:30 +01:00
Thomas Schoebel-Theuer
0cb5fb0179
main: hold remote_trigger on failure
2018-01-31 07:50:23 +01:00
Thomas Schoebel-Theuer
6177b74fee
infra: user message infrastructure
2018-01-31 07:45:55 +01:00
Thomas Schoebel-Theuer
b790c99d5a
main: replace spinlock by mutex
2018-01-31 07:45:21 +01:00
Thomas Schoebel-Theuer
b2cf8686de
infra: use new mapfree dirtifying
2017-12-10 20:54:27 +01:00
Thomas Schoebel-Theuer
38b7ccf272
Merge branch 'mars0.1.y' into mars0.1a.y
2017-12-10 20:48:51 +01:00
Thomas Schoebel-Theuer
42543656dc
main: auto logrotate on small /mars
2017-10-23 17:07:41 +02:00
Thomas Schoebel-Theuer
dedf7f3cdc
main: fix writeback overflow when /mars has less space than RAM
...
Observed at Arsys prototype testing.
Thanks to Andoni Ayala for the problem report.
2017-10-23 16:43:28 +02:00
Thomas Schoebel-Theuer
06ea3d4d1b
main: better connection messages
2017-09-23 07:49:57 +02:00
Thomas Schoebel-Theuer
0c09be8eae
main: fix and improve misleading connection state wording
2017-09-23 07:49:56 +02:00
Thomas Schoebel-Theuer
e6c4ccd7ab
main: fix multiple peer activation
2017-09-12 20:12:28 +02:00
Thomas Schoebel-Theuer
7a65eaa4ef
main: extra rot activation
2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
610b513ac9
main: factor out rot activation
2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
3b0fc84da3
main: interrupt peer thread wait earlier
2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
7f3fffe2a1
man: terminate peer thread when network is down
2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
e85f9afffb
main: retry on dent limit
2017-09-12 09:34:14 +02:00
Thomas Schoebel-Theuer
4ffb69aac2
main: propagate features
2017-09-11 12:00:12 +02:00
Thomas Schoebel-Theuer
b8e77a4f58
main: report optional feature version
2017-09-11 11:59:32 +02:00
Thomas Schoebel-Theuer
cf25790fd2
Merge tag 'mars0.1stable48' into mars0.1a.y
2017-09-11 11:53:28 +02:00
Thomas Schoebel-Theuer
513546971e
Merge tag 'mars0.1stable47' into mars0.1a.y
2017-09-11 11:50:12 +02:00
Thomas Schoebel-Theuer
2787be89de
Merge tag 'mars0.1stable46' into mars0.1a.y
2017-09-11 11:48:41 +02:00
Thomas Schoebel-Theuer
7f961ad89f
Merge tag 'mars0.1stable45' into mars0.1a.y
2017-09-11 11:42:59 +02:00
Thomas Schoebel-Theuer
ac33f3b6ec
Merge tag 'mars0.1stable44' into mars0.1a.y
2017-09-11 11:42:49 +02:00
Thomas Schoebel-Theuer
9025283608
server: handler limit
2017-09-07 12:56:23 +02:00
Thomas Schoebel-Theuer
2d26b3d224
server: dent limit
2017-09-07 12:55:40 +02:00
Thomas Schoebel-Theuer
c0dfbde8a8
infra: fix mem leak from merge error
2017-09-05 11:23:44 +02:00
Thomas Schoebel-Theuer
3d2811c719
main: fix deadlock on uuid at leave-cluster
...
Similar to before:
root@m0:~# cat /proc/2642/stack
[<ffffffff810591cc>] kthread_stop+0x7f/0x10d
[<ffffffffa0172033>] _kill_peer.isra.7+0xf9/0x1ea [mars]
[<ffffffffa0172180>] peer_destruct+0xe/0x10 [mars]
[<ffffffffa016866a>] mars_free_dent+0x188/0x1b4 [mars]
[<ffffffffa0168a5a>] mars_dent_work+0x3c4/0x563 [mars]
[<ffffffffa0171265>] _main_thread+0x2b2/0x88d [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
root@m0:~# cat /proc/4282/stack
[<ffffffff81342154>] call_rwsem_down_read_failed+0x14/0x30
[<ffffffffa0166554>] mars_find_dent+0x19/0x3d [mars]
[<ffffffffa0172a30>] peer_thread+0x8ae/0xdc0 [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
2017-09-01 20:14:36 +02:00
Thomas Schoebel-Theuer
6c56b53850
infra: fix deadlock on leave-cluster & friends
...
root@m1:~# cat /proc/2661/stack
[<ffffffff810591cc>] kthread_stop+0x7f/0x10d
[<ffffffffa01660a5>] _kill_peer.isra.7+0xf9/0x1ea [mars]
[<ffffffffa01661f2>] peer_destruct+0xe/0x10 [mars]
[<ffffffffa015c66a>] mars_free_dent+0x188/0x1b4 [mars]
[<ffffffffa015ca5a>] mars_dent_work+0x3c4/0x563 [mars]
[<ffffffffa01652d7>] _main_thread+0x2b2/0x88d [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
root@m1:~# cat /proc/4473/stack
[<ffffffff81342154>] call_rwsem_down_read_failed+0x14/0x30
[<ffffffffa015a554>] mars_find_dent+0x19/0x3d [mars]
[<ffffffffa015dadc>] _mars_translate_hostname+0x86/0x126 [mars]
[<ffffffffa0166663>] peer_thread+0x46f/0xdc0 [mars]
[<ffffffff81059145>] kthread+0xb5/0xbd
[<ffffffff81660a19>] ret_from_fork+0x49/0x80
[<ffffffffffffffff>] 0xffffffffffffffff
2017-09-01 20:03:48 +02:00
Thomas Schoebel-Theuer
1e13c9e7ae
all: document some deadlock danger on debug output
2017-08-29 18:53:24 +02:00
Thomas Schoebel-Theuer
45005f25c9
main: fix is_attached
2017-08-29 18:40:30 +02:00
Thomas Schoebel-Theuer
5b41b2fb84
infra: regularly prune the /mars dentry cache
2017-08-25 15:07:59 +02:00
Thomas Schoebel-Theuer
de8abf0284
main: report is-detached only when bio is gone
2017-08-21 21:16:37 +02:00
Thomas Schoebel-Theuer
68016194bc
main: report is-detached for damaged resources
2017-08-21 21:16:36 +02:00
Thomas Schoebel-Theuer
4ff7dfe7a4
Merge branch 'mars0.1.y' into mars0.1b.y
2017-07-26 11:32:47 +02:00
Thomas Schoebel-Theuer
45f9440842
main: protect rot list by rwsem
2017-07-26 11:08:56 +02:00
Thomas Schoebel-Theuer
3d9bbcb23c
main: check alive link timestamp instead of tree version
...
The tree version might be updated less frequently.
2017-07-26 11:08:12 +02:00
Thomas Schoebel-Theuer
cf84aeba9f
main: avoid fetch from failed peer for a while
2017-07-26 10:27:04 +02:00
Thomas Schoebel-Theuer
881f61bfcc
main: fix abort of logfile fetching
2017-07-26 10:00:51 +02:00
Thomas Schoebel-Theuer
347bb102e7
infra: safeguard dent deallocation
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
86d70bd6a5
main: more detailed messages on peers and paths
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
aa5481a87d
main: fetch only metadata of interesting resources
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
627a402617
main: compute list of participating resources
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
6c4f72ceab
infra: allow pruning of subdirs
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
c4fb7c2e41
main: verbose debugging
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
f784c6555e
main: remote_trigger only communicating peers
2017-07-05 08:01:48 +02:00
Thomas Schoebel-Theuer
d382bd7037
main: terminate and restart peer thread when necessary
2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
14737303b7
main: show more peer debuginfo
2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
a41c0f8f98
main: run some additional peer threads
2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
c8ec870886
main: only scan the peers we are participating
...
After this, nothing will be propagated to non-participating hosts.
The next patch is needed for fixing this.
2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
475b33d7ee
main: also scan other hostname contexts
2017-07-05 08:01:47 +02:00
Thomas Schoebel-Theuer
0adab134ac
Merge branch 'mars0.1.y' into mars0.1b.y
2017-07-05 07:48:08 +02:00
Thomas Schoebel-Theuer
27eb38ff3e
infra: add total statistics to limiter
2017-07-05 07:37:12 +02:00
Thomas Schoebel-Theuer
a983bf42de
main: show peer debuginfo
2017-07-05 07:37:12 +02:00
Thomas Schoebel-Theuer
d976fde7fb
main: replace peer_lock spinlock by rwsem
2017-07-05 07:37:12 +02:00
Thomas Schoebel-Theuer
0da44a808f
copy: allow non-strict write order
2017-05-28 19:20:26 +02:00
Thomas Schoebel-Theuer
08c973f181
main: fix forgotten notify
2017-05-28 19:20:25 +02:00
Thomas Schoebel-Theuer
be35a0af37
Merge branch 'mars0.1.y' into mars0.1b.y
2017-05-28 19:19:37 +02:00
Thomas Schoebel-Theuer
0fafba3cd0
infra: better debugging
2017-05-22 11:25:00 +02:00
Thomas Schoebel-Theuer
d12b20ef1c
main: fix hang of fetch
2017-05-22 11:25:00 +02:00
Thomas Schoebel-Theuer
95d10d02a2
main: disable irqs during spinlocks
2017-05-16 10:21:31 +02:00
Thomas Schoebel-Theuer
84450d9d70
Merge branch 'mars0.1.y' into mars0.1b.y
2017-05-11 08:51:12 +02:00
Thomas Schoebel-Theuer
f129ae00e9
infra: modinfo shows io driver type
2017-05-09 08:52:48 +02:00
Thomas Schoebel-Theuer
8abf1a0928
infra: modinfo shows whether prepatch is used
2017-05-09 08:52:48 +02:00
Thomas Schoebel-Theuer
a1d4497a51
infra: remove unwanted sys_utimes()
2017-05-04 10:32:50 +02:00
Thomas Schoebel-Theuer
09c6b3112c
infra: replace unwanted sys_unlink() by provisionary wrapper
2017-05-04 10:28:43 +02:00
Thomas Schoebel-Theuer
b3b13d9187
infra: replace unwanted sys_rename() by provisionary wrapper
2017-05-04 10:08:29 +02:00
Thomas Schoebel-Theuer
c4b055584c
infra: replace sys_mkdir() by vfs_mkdir()
2017-05-04 10:08:29 +02:00
Thomas Schoebel-Theuer
8fe84d32d8
infra: replace sys_symlink() by vfs_symlink()
2017-05-04 10:08:29 +02:00
Thomas Schoebel-Theuer
05a5b49aed
infra: remove unwanted reference to min_free_kbyte
2017-05-04 10:08:07 +02:00
Thomas Schoebel-Theuer
b9383da97c
infra: remove unwanted rmdir()
2017-05-04 10:04:12 +02:00
Thomas Schoebel-Theuer
ac2c901943
infra: remove unwanted chmod()
2017-05-04 10:04:02 +02:00
Thomas Schoebel-Theuer
f654129e94
compat: disable aio when necessary
2017-05-04 09:16:17 +02:00
Thomas Schoebel-Theuer
eaa6fc0efc
infa: introduce wrapper layer for compatibiliy with multiple kernels
...
This is needed for adaptation of the out-of-tree MARS version to multiple
kernel versions.
It will be much simplified after upstream merging, and/or
removed/replaced by something better.
2017-05-04 09:09:19 +02:00
Thomas Schoebel-Theuer
4f071e362f
infra: new interface to Lamport clock
2017-04-15 18:10:44 +02:00
Thomas Schoebel-Theuer
5b2cad9f6e
net: use corking at mars_send_struct()
2017-04-15 18:10:44 +02:00
Thomas Schoebel-Theuer
f4795b6c74
client: implement socket bundling
2017-04-11 09:30:34 +02:00
Thomas Schoebel-Theuer
84ff94faec
if: pimp nr_requests
2017-04-11 09:20:31 +02:00
Thomas Schoebel-Theuer
27be605623
bio: pimp nr_requests
2017-04-11 09:20:31 +02:00
Thomas Schoebel-Theuer
94dcded654
main: earlier syncstatus update
2017-04-04 08:42:16 +02:00
Thomas Schoebel-Theuer
2e58ffadc1
main: introduce updater function at the right place
...
Updates must take place _before_ a copy is switched off.
2017-04-04 08:42:09 +02:00
Thomas Schoebel-Theuer
378cf8035f
main: earlier shutdown on rmmod
...
This is important when the network hangs.
2017-04-04 08:38:16 +02:00
Thomas Schoebel-Theuer
afe2513c21
infra: shutdown bricks in parallel
2017-04-04 08:38:15 +02:00
Thomas Schoebel-Theuer
c0da3f50fe
main: safeguard forceful killing
2017-04-04 08:38:15 +02:00
Thomas Schoebel-Theuer
994ae64b92
main: fix sequential wait upon shutdown
...
Instead, switch off all resources in parallel without waiting for
each shutdown.
2017-04-04 08:38:15 +02:00
Thomas Schoebel-Theuer
ea57a4e898
Merge branch 'mars0.1.y' into mars0.1b.y
2017-04-04 08:37:05 +02:00
Thomas Schoebel-Theuer
d1988b3d7c
copy: leave lifelock when EOF position decreases
2017-04-04 08:03:09 +02:00
Thomas Schoebel-Theuer
7f7b6b99a7
main: new simple sync parallelism limit
...
Hopefully this code is now "obviously correct"
2017-02-20 15:29:28 +01:00
Thomas Schoebel-Theuer
c3f931f660
main: remove obsolete 1&1-specific sync feature
2017-02-20 15:29:28 +01:00
Thomas Schoebel-Theuer
84a9273080
main: fix detection of logfile sequence holes
2017-02-16 07:21:09 +01:00
Thomas Schoebel-Theuer
1b46726241
main: avoid flipping of syncstatus update
2017-02-09 10:13:21 +01:00
Thomas Schoebel-Theuer
d897f9060e
infra: fix forced shutdown of bricks
2017-01-25 09:30:52 +01:00
Thomas Schoebel-Theuer
bb89cf0dbb
infra: show brick creation timestamp in debuglogs
2017-01-25 09:30:52 +01:00
Thomas Schoebel-Theuer
7bdf6ed6c2
infra: show additional variable in debug log
2017-01-25 09:30:52 +01:00
Thomas Schoebel-Theuer
1080474ecc
all: use new wrapper
2017-01-25 09:30:52 +01:00
Thomas Schoebel-Theuer
e370af69e1
infra: use new wrapper
2017-01-25 09:30:52 +01:00
Thomas Schoebel-Theuer
0c76f0f1fd
infra: wrapper for generic_{dis,}connect with locking
2017-01-25 09:30:52 +01:00