Dietmar Maurer
|
1a6c9415ae
|
src/api2/node/services.rs: add proxmox-backup-proxy service
|
2019-04-15 09:48:02 +02:00 |
|
Dietmar Maurer
|
75bc49bed7
|
src/server/worker_task.rs: implement abort channel
|
2019-04-15 09:38:05 +02:00 |
|
Dietmar Maurer
|
912524752e
|
src/api2/admin/datastore/pxar.rs: create worker task for file upload
|
2019-04-15 08:38:14 +02:00 |
|
Dietmar Maurer
|
1be71fb02b
|
src/server/worker_task.rs_ do not write ERROR: prefix into task index
|
2019-04-15 08:37:13 +02:00 |
|
Dietmar Maurer
|
418def7a78
|
src/server/worker_task.rs: move common code into log_result
Make new() pub
|
2019-04-15 07:49:03 +02:00 |
|
Dietmar Maurer
|
37b87869b5
|
src/server/upid.rs: check for illegal characters
|
2019-04-15 07:47:51 +02:00 |
|
Dietmar Maurer
|
63bd6a9f5a
|
GUI: fix borders
|
2019-04-11 12:18:04 +02:00 |
|
Dietmar Maurer
|
f2b99c34f7
|
src/api2/admin/datastore.rs: implement API to return last GC status
|
2019-04-11 12:04:25 +02:00 |
|
Dietmar Maurer
|
8d76e8b773
|
www/DataStoreConfig.js: popup task viewer when starting GC
|
2019-04-11 11:16:30 +02:00 |
|
Dietmar Maurer
|
59961b8954
|
src/server/command_socket.rs: check control socket permissions
|
2019-04-11 10:51:59 +02:00 |
|
Dietmar Maurer
|
ba70040dbf
|
src/server/worker_task.rs: change task list sort order - latest on top
|
2019-04-11 09:43:33 +02:00 |
|
Dietmar Maurer
|
f3832b6355
|
tests/worker-task-abort.rs: test abort worker
|
2019-04-11 08:26:52 +02:00 |
|
Dietmar Maurer
|
d3f4c08f33
|
src/server/worker_task.rs: catch panics in worker threads
|
2019-04-11 07:56:06 +02:00 |
|
Dietmar Maurer
|
a665dea128
|
src/api2/node/tasks.rs: implement stop_task api
|
2019-04-10 13:55:05 +02:00 |
|
Dietmar Maurer
|
98a181f055
|
src/server/worker_task.rs: log message when we call request_abort()
|
2019-04-10 13:54:28 +02:00 |
|
Dietmar Maurer
|
321070b4fa
|
src/server/worker_task.rs: implement abort_worker (via command_socket)
|
2019-04-10 12:42:24 +02:00 |
|
Dietmar Maurer
|
cfb2d3c17c
|
src/server/command_socket.rs: correctly handle/spawn handle parallel connections
|
2019-04-10 11:05:00 +02:00 |
|
Dietmar Maurer
|
9b002cbc5f
|
src/server/worker_task.rs: use abstract socket
|
2019-04-10 09:03:17 +02:00 |
|
Dietmar Maurer
|
5f550fd99f
|
start hyper server using with_graceful_shutdown()
Without, hyper keeps some futures running, and the server does not
correctly shutdown.
|
2019-04-10 08:24:32 +02:00 |
|
Dietmar Maurer
|
7f2078de59
|
src/tools/procfs.rs: avoid compiler warning
|
2019-04-10 06:40:29 +02:00 |
|
Dietmar Maurer
|
c360bd73d3
|
src/api2/node/tasks.rs: fix task status api
|
2019-04-09 15:12:20 +02:00 |
|
Dietmar Maurer
|
0bfd87bc5e
|
src/server/worker_task.rs: speedup upid_read_status()
|
2019-04-09 15:11:48 +02:00 |
|
Dietmar Maurer
|
d8d40dd0c2
|
src/api2/node.rs: add node parameter
|
2019-04-09 14:43:30 +02:00 |
|
Dietmar Maurer
|
7ae0bf52dd
|
src/server/command_socket.rs: code cleanup - fix error message
|
2019-04-09 12:47:42 +02:00 |
|
Dietmar Maurer
|
d607b8861b
|
src/server/worker_task.rs: implement task control socket
|
2019-04-09 12:15:06 +02:00 |
|
Dietmar Maurer
|
e201753629
|
src/server/command_socket.rs: implement auto_remove flag
Remove the socket file on close.
|
2019-04-09 11:47:23 +02:00 |
|
Dietmar Maurer
|
634132fe10
|
src/server/upid.rs: moved code into separate file
|
2019-04-08 18:43:26 +02:00 |
|
Dietmar Maurer
|
78a39e0517
|
src/server/command_socket.rs: simple command socket
|
2019-04-08 17:59:39 +02:00 |
|
Dietmar Maurer
|
e3f41f2165
|
src/tools/daemon.rs: use new ServerState handler
|
2019-04-08 14:00:23 +02:00 |
|
Dietmar Maurer
|
7a630df709
|
implement server state/signal handling, depend on tokio-signal
|
2019-04-08 13:59:07 +02:00 |
|
Dietmar Maurer
|
5a12c0e2fb
|
src/api2/node/tasks.rs: start upid API
|
2019-04-07 14:36:57 +02:00 |
|
Dietmar Maurer
|
b75b968147
|
src/server/worker_task.rs: implement is_active()
|
2019-04-07 14:36:25 +02:00 |
|
Dietmar Maurer
|
4494d07819
|
src/server/worker_task.rs: make log_path a method on UPID
|
2019-04-07 13:51:46 +02:00 |
|
Dietmar Maurer
|
d2a2e02bb7
|
src/api2/node/tasks.rs: implement userfilter
|
2019-04-07 13:17:19 +02:00 |
|
Dietmar Maurer
|
3c3bee2e32
|
src/api2/node/tasks.rs: correctly handle start parameter
|
2019-04-07 12:41:24 +02:00 |
|
Dietmar Maurer
|
063ca5be77
|
src/api2/node/tasks.rs: implement list_tasks
|
2019-04-07 12:18:58 +02:00 |
|
Dietmar Maurer
|
d4b59ae0b8
|
src/backup/datastore.rs: pass WorkerTask to GC
So that we can log to the task log file.
|
2019-04-06 17:57:38 +02:00 |
|
Dietmar Maurer
|
35950380a9
|
src/server/worker_task.rs: carefully handle file permissions
|
2019-04-06 17:53:12 +02:00 |
|
Dietmar Maurer
|
1619a72063
|
src/tools.rs: implement create_dir_chown
Combinded mkdir with chown.
|
2019-04-06 16:50:23 +02:00 |
|
Dietmar Maurer
|
eea8131952
|
src/tools.rs: implement file_set_contents_full()
|
2019-04-06 13:53:43 +02:00 |
|
Dietmar Maurer
|
0f778e0652
|
src/api2/admin/datastore.rs: use new WorkerTask::new_thread()
|
2019-04-06 11:27:23 +02:00 |
|
Dietmar Maurer
|
23c8415dbe
|
tests/catar.rs: make it compile again
|
2019-04-06 11:26:17 +02:00 |
|
Dietmar Maurer
|
244abab769
|
src/tools/file_logger.rs: fix test
|
2019-04-06 11:24:37 +02:00 |
|
Dietmar Maurer
|
660c684640
|
src/server/worker_task.rs: return upid_str
|
2019-04-06 11:23:53 +02:00 |
|
Dietmar Maurer
|
93aebb38bc
|
src/server/worker_task.rs: implement read_task_list()
|
2019-04-06 10:17:11 +02:00 |
|
Dietmar Maurer
|
4a36a2c999
|
src/server/worker_task.rs: improve UPID format description
|
2019-04-06 09:36:50 +02:00 |
|
Dietmar Maurer
|
882594c5e9
|
src/server.rs: improve crate layout
|
2019-04-06 09:17:25 +02:00 |
|
Dietmar Maurer
|
4b01c983f0
|
src/server/worker_task.rs: implement persistent task list
|
2019-04-05 12:37:35 +02:00 |
|
Dietmar Maurer
|
9a0d0ff774
|
server/worker_task.rs: implement UPID parser
|
2019-04-04 13:49:35 +02:00 |
|
Dietmar Maurer
|
49cf9f3d0b
|
src/tools.rs: file_get_json() - add new default parameter
|
2019-04-04 12:24:18 +02:00 |
|
Dietmar Maurer
|
79ad7b7ec2
|
src/tools/procfs.rs: split regex into several lines
|
2019-04-04 09:25:19 +02:00 |
|
Dietmar Maurer
|
479f6e40ec
|
src/server/worker_task.rs: implement task registry
|
2019-04-04 08:58:39 +02:00 |
|
Dietmar Maurer
|
52ddc2522d
|
src/tools/procfs.rs: use libc::pid_t
|
2019-04-04 08:05:43 +02:00 |
|
Dietmar Maurer
|
d3d7ab1273
|
src/tools/file_logger.rs: new - accept AsRef<Path>
|
2019-04-03 14:13:33 +02:00 |
|
Dietmar Maurer
|
3c2012f97a
|
src/tools/procfs.rs: start helper tools to read procfs
|
2019-04-03 13:39:20 +02:00 |
|
Dietmar Maurer
|
3489936ebb
|
src/tools/file_logger.rs: change timestamp format to rfc3339
|
2019-04-03 08:58:43 +02:00 |
|
Dietmar Maurer
|
92da93b245
|
abort GC on server shutdown
|
2019-04-01 12:13:02 +02:00 |
|
Dietmar Maurer
|
9136f857cc
|
add global var to indicate server shutdown requests
|
2019-04-01 12:05:11 +02:00 |
|
Dietmar Maurer
|
3e6a7deeaa
|
src/api2/admin/datastore.rs: start GC in a separate thread
|
2019-04-01 12:02:46 +02:00 |
|
Dietmar Maurer
|
ad281d1bd9
|
www/DataStoreConfig.js: add button to start GC
|
2019-04-01 08:08:34 +02:00 |
|
Dietmar Maurer
|
49d123ee3a
|
src/server/rest.rs: use formatter to encode errors
|
2019-04-01 08:04:12 +02:00 |
|
Dietmar Maurer
|
7d4ef127cb
|
src/server/rest.rs: generate csrf token if we have a valid ticket
This is important if the user reloads the browser page.
|
2019-04-01 07:52:30 +02:00 |
|
Dietmar Maurer
|
11861a482d
|
src/backup/chunk_store.rs: fix GC
Added option to get oldest_writer timestamp from ProcessLocker.
|
2019-03-31 17:21:36 +02:00 |
|
Dietmar Maurer
|
d85987aeeb
|
fix last commit: the filename var was not ment to be removed, sorry
|
2019-03-31 16:16:14 +02:00 |
|
Dietmar Maurer
|
15a77c4c2e
|
src/backup/chunk_store.rs: avoid create/unlink race
|
2019-03-31 10:03:01 +02:00 |
|
Dietmar Maurer
|
c374f05499
|
src/backup.rs: improve GC problem description
|
2019-03-31 09:44:35 +02:00 |
|
Dietmar Maurer
|
c8ec450e37
|
src/backup.rs: start explaining different GC algorithm
|
2019-03-30 17:21:40 +01:00 |
|
Dietmar Maurer
|
8a4757342c
|
src/backup.rs: describe the garbage collection problem
|
2019-03-30 16:26:52 +01:00 |
|
Dietmar Maurer
|
10eea49d81
|
src/backup/fixed_index.rs: store reference to file
Keep it open and locked while index is in use.
|
2019-03-27 10:17:03 +01:00 |
|
Dietmar Maurer
|
c597a92c81
|
index file readers: aquire shared lock
|
2019-03-27 10:11:14 +01:00 |
|
Dietmar Maurer
|
0465218953
|
src/backup.rs: add documentation about ChunkStore locking
|
2019-03-22 10:14:50 +01:00 |
|
Dietmar Maurer
|
43b1303398
|
datastore: use new ProcessLocker
To make sure only one process runs garbage collection while having active writers.
|
2019-03-22 09:42:15 +01:00 |
|
Dietmar Maurer
|
abfc001f25
|
src/tools/process_locker.rs: new() - use generic path parameter
|
2019-03-22 09:41:32 +01:00 |
|
Dietmar Maurer
|
a650f50301
|
src/tools/process_locker.rs: implement inter-process reader-writer locks
|
2019-03-22 08:05:51 +01:00 |
|
Dietmar Maurer
|
8346f0d59b
|
src/server/rest.rs: correctly extract content type
|
2019-03-19 12:50:15 +01:00 |
|
Dietmar Maurer
|
164d961729
|
docs/index.rst: cleanup
|
2019-03-19 12:22:57 +01:00 |
|
Dietmar Maurer
|
60864b1b56
|
src/pxar.rs: improve docu
|
2019-03-18 12:27:30 +01:00 |
|
Dietmar Maurer
|
515688d1f1
|
avoid compiler warnings
|
2019-03-18 10:00:58 +01:00 |
|
Dietmar Maurer
|
998b827a5d
|
start file format docu
|
2019-03-16 16:44:45 +01:00 |
|
Dietmar Maurer
|
ba10f2b0d4
|
src/bin/dynamic-files.rs: test case for file shrink during backup
|
2019-03-16 14:22:14 +01:00 |
|
Dietmar Maurer
|
af572aaa4c
|
pxar: implement hardlinks
So we are no longer compatible with catar ...
|
2019-03-16 11:02:12 +01:00 |
|
Dietmar Maurer
|
812dd935ce
|
src/pxar/encoder.rs: detect hardlinks
|
2019-03-15 12:19:51 +01:00 |
|
Dietmar Maurer
|
896e803feb
|
src/pxar/sequential_decoder.rs: dump_entry - fix FIFO/SOCKET handling
|
2019-03-15 12:15:38 +01:00 |
|
Dietmar Maurer
|
7dfa17c7cc
|
src/pxar/binary_search_tree.rs: fix test
|
2019-03-15 11:34:31 +01:00 |
|
Dietmar Maurer
|
9307279faf
|
cleanup: remove dead code
|
2019-03-15 10:18:28 +01:00 |
|
Dietmar Maurer
|
46cfe7ab7e
|
src/pxar/decoder.rs: implement seekable decoder
|
2019-03-15 09:36:05 +01:00 |
|
Dietmar Maurer
|
0e21b87be3
|
renamed: src/pxar/decoder.rs -> src/pxar/sequential_decoder.rs
|
2019-03-15 08:36:02 +01:00 |
|
Dietmar Maurer
|
3dbfe5b142
|
simplify pxar module structure
|
2019-03-15 08:24:32 +01:00 |
|
Dietmar Maurer
|
1ef46b81d3
|
src/bin/pxar.rs: implement extract
|
2019-03-15 08:03:44 +01:00 |
|
Dietmar Maurer
|
02c93163cf
|
src/pxar/decoder.rs: correctly call callback()
|
2019-03-15 08:02:04 +01:00 |
|
Dietmar Maurer
|
5defa71bf9
|
rename PxarBackupWriter into PxarDecodeWriter
|
2019-03-15 07:20:22 +01:00 |
|
Dietmar Maurer
|
b005ed12d5
|
src/client/http_client.rs: avoid compiler warning
|
2019-03-15 07:16:26 +01:00 |
|
Dietmar Maurer
|
9e26abf16b
|
src/cli/command.rs: fix iterator usage
|
2019-03-15 07:12:40 +01:00 |
|
Dietmar Maurer
|
f98746ba6c
|
src/pxar/decoder.rs: improve docu
|
2019-03-15 07:12:11 +01:00 |
|
Dietmar Maurer
|
0b2d7fdc81
|
src/pxar/decoder.rs: avoid compiler warnings
|
2019-03-14 17:45:47 +01:00 |
|
Dietmar Maurer
|
37940aa1f9
|
src/bin/pxar.rs: implement dump/list
|
2019-03-14 17:43:11 +01:00 |
|
Dietmar Maurer
|
40360fde6e
|
src/pxar/decoder.rs: implement dump_archive
use this to debug archive problems ...
|
2019-03-14 13:10:27 +01:00 |
|
Dietmar Maurer
|
8968258b66
|
rename catar into pxar
To avoid confusion with the casync implementation.
|
2019-03-14 10:54:09 +01:00 |
|
Dietmar Maurer
|
7c4dd94670
|
rename catar into pxar
Seems impossible to stay compatible with the original catar specification,
so we change the name to avoid confusions.
|
2019-03-14 10:14:32 +01:00 |
|
Dietmar Maurer
|
806500cd09
|
src/tools.rs: improve file name completion
Use current working directory by default.
|
2019-03-14 08:17:35 +01:00 |
|