Dietmar Maurer
ee4e56e372
proxmox-sys: moved nodename from proxmox crate
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
ec3965fdad
proxmox-sys: fix regression tests
2021-11-24 10:00:38 +01:00
Dietmar Maurer
21686c99e6
proxmox-sys: fixup worker task log macros
2021-11-24 10:00:38 +01:00
Dietmar Maurer
6efbe4e6e8
proxmox-sys: imported proxmox/src/tools/systemd.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
ba1f59c098
proxmox-sys: imported proxmox/src/tools/email.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
0806020ebf
proxmox-sys: improve dev docs
...
And move WorkerTaskContext to top level.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
e011964f81
proxmox-sys: imported pbs-tools/src/command.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
4c7bd0ee50
proxmox-sys: imported pbs-tools/src/acl.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
66aea897b6
proxmox-sys: imported pbs-tool/src/xattr.rs
2021-11-24 10:00:38 +01:00
Dietmar Maurer
d98ed51fa8
proxmox-sys: move file_get_non_comment_lines to src/fs/file.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
92caf51634
proxmox-sys: split xattr code into extra file
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
d0b7e1e299
proxmox-sys: imported pbs-tools/src/fs.rs to src/fs/read_dir.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
32b69176dd
proxmox-sys: imported proxmox tools/sys
...
And split some files into smaller parts.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-24 10:00:38 +01:00
Dietmar Maurer
c0312f3717
bum proxmox-sys version to 0.1.2
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-22 10:35:45 +01:00
Dietmar Maurer
4d158ec1b3
proxmox-sys: fix test for wrong logrotate path
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-22 10:35:45 +01:00
Dietmar Maurer
45645d9aee
proxmox-sys: add copyright file
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 15:48:18 +01:00
Fabian Grünbichler
5ecc7724e2
sys: update d/control
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-11-19 12:12:01 +01:00
Fabian Grünbichler
d49e6a362e
bump proxmox-sys to 0.1.1
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-11-19 12:05:48 +01:00
Fabian Grünbichler
aedc5197f5
sys: add missing file
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-11-19 12:05:48 +01:00
Fabian Grünbichler
dc14d03171
all crates: bump base64 dep to 0.13
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-11-19 11:46:21 +01:00
Dietmar Maurer
20661f014d
proxmox-sys: imported pbs-tools/src/task.rs (as worker_task_context.rs)
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 10:05:06 +01:00
Dietmar Maurer
202641757e
proxmox-sys: imported pbs-tools/src/logrotate.rs (with various cleanups)
...
- new: CreateOption s instead of owner string
- new: returns Result instead of Option
- new: add max_files option
- remove new_with_user()
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 09:28:59 +01:00
Dietmar Maurer
8ac4c949bb
proxmox-sys: imported pbs-tools/src/process_locker.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 09:28:52 +01:00
Dietmar Maurer
840154f61b
proxmox-sys: add new crate
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-19 09:28:32 +01:00
Wolfgang Bumiller
436bf05e0b
merge api, sys and tools into proxmox directly
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-21 12:15:42 +01:00
Wolfgang Bumiller
2ef0e795a7
sys: double-parse fixup
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-17 13:32:21 +01:00
Wolfgang Bumiller
df5eb296cc
sys: mountinfo parsing fixups
...
* include the failing line on errors
* don't fail on the final empty line...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-17 13:30:28 +01:00
Wolfgang Bumiller
3d9fdb5634
bump sys crate
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-16 11:36:41 +01:00
Wolfgang Bumiller
eeb8e7f839
sys: read_for_pid -> read_from_pid, drop deprecated functions
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-16 11:33:42 +01:00
Wolfgang Bumiller
4dc4bb91ad
bump proxmox-sys to 0.1.2
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-15 15:34:26 +01:00
Fabian Grünbichler
a94de245f0
build: switch to debcargo
...
to autogenerate crate (build)-dependencies, and correct Provides
statements.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-01-15 12:02:47 +01:00
Wolfgang Bumiller
a01491036c
sys: add pid module with PidFd type
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-15 10:57:11 +01:00
Wolfgang Bumiller
20fe5e1781
sys: derive Clone and Debug for mount_info::Entry and MountInfo
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 15:18:09 +01:00
Wolfgang Bumiller
bd4a6c5b8b
sys: use a BTreeMap for MountInfo internally
...
Since the only reasonable access is by mount "id" and they
don't need to be consecutive (but they are numeric), use a
BTreeMap for MountInfo.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 15:15:52 +01:00
Wolfgang Bumiller
4e27ec9eb1
sys: export MountInfo in procfs
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 14:56:03 +01:00
Wolfgang Bumiller
775c96f934
sys: more helpers for MountInfo
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 14:54:51 +01:00
Wolfgang Bumiller
40da8098df
sys: add /proc/self/mountinfo parsing
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 14:41:21 +01:00
Wolfgang Bumiller
e128fc879f
sys: Add TryFrom<Pid> for PidStat
...
Since nix's Pid type is a strong type, we can add a TryFrom
implementation here as well.
This can later also have the equivalent TryFrom<PidFd>
variant.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 12:05:04 +01:00
Wolfgang Bumiller
42a155668e
sys: change PidStat API
...
Rather than standalone functions, `PidStat` now provides a
`read_for_pid` and `parse` method. Both are public.
One side effect is that the documentation of PidStat's
contents are on the same page as the ways to retrieve it.
Additionally, we deprecate `read_proc_starttime` as it was
reading the entire contents to then filter out one value, in
order to promote caching.
The standalone `read_proc_pid_stat` method is now also
deprecated.
Once we add pid-fds the API will feel cleaner this way.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 12:01:06 +01:00
Wolfgang Bumiller
e3b41dc815
sys: extend proc_pid_stat parsing
...
Rename `ProcFsPidStat` to `PidStat`. It's already in a
procfs submodule anyway. (We have currently no public users
of this type by name.)
Further add pid, ppid and num_threads to PidStat.
Public API change.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-14 11:49:33 +01:00
Wolfgang Bumiller
43682dd416
version bump
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-02 14:42:28 +01:00
Wolfgang Bumiller
b659584f23
sys: add a bunch of error helpers
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-02 13:47:53 +01:00
Wolfgang Bumiller
568ce10624
sys: add some helpful macros
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-01-02 13:47:53 +01:00
Wolfgang Bumiller
1a2aaad5a1
more versioning fixups
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-12-30 12:33:13 +01:00
Fabian Grünbichler
d6bf884814
proxmox-sys: initial packaging
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-12-20 09:39:45 +01:00
Fabian Grünbichler
f4d9e8157c
proxmox-sys: update lazy-static to 1.4
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2019-12-20 09:39:45 +01:00
Thomas Lamprecht
cfae8ae3d2
linux/procfs: add read_proc_stat
...
For now we just parse the CPU "time-spent" counters and calculate the
CPU usage of the whole system. As we do not want a total average we
use a state-full implementation, which calculates the usage since the
last request (if older than 1 second).
Somewhat modeled after our Perl version of this. But for the "total"
we do not use the:
> ($ctime - $last_proc_stat->{ctime}) * $clock_ticks * $cpucount;
calculation, but just add _all_ fields together, as that is the total
of CPU time.
Use a Reader-Writer lock to sync updating. First check under the
reader lock if the data is recent enough, else update it under the
writer lock.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2019-12-18 17:00:51 +01:00
Wolfgang Bumiller
6cf330c9d2
add tools::parse submodule, move hex_nibble to it
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-14 09:59:04 +01:00
Wolfgang Bumiller
db83a675f0
sys: get rid of Regex dependency
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-13 14:49:11 +01:00
Wolfgang Bumiller
b294fb1314
sys: add read_proc_pid_stat test
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-13 14:49:11 +01:00