mirror of
https://github.com/zoriya/flood.git
synced 2026-06-12 22:14:48 +00:00
diskUsageService: exclude squashfs/tmpfs mount points for linux
squashfs is strictly read-only while tmpfs stores to volatile memory. This change prevents unuseful mount points from spamming the list.
This commit is contained in:
@@ -18,29 +18,45 @@ const filterMountPoint =
|
||||
(mountpoint) => config.diskUsageService.watchMountPoints.includes(mountpoint)
|
||||
: () => true; // include all mounted file systems by default
|
||||
|
||||
const linuxDfParsing = () =>
|
||||
execFile('df | tail -n+2', {
|
||||
shell: true,
|
||||
maxBuffer: MAX_BUFFER_SIZE,
|
||||
}).then(({stdout}) =>
|
||||
stdout
|
||||
.trim()
|
||||
.split('\n')
|
||||
.map((disk) => disk.split(/\s+/))
|
||||
.filter((disk) => filterMountPoint(disk[5]))
|
||||
.map(([_fs, size, used, avail, _pcent, target]) => {
|
||||
return {
|
||||
size: Number.parseInt(size, 10) * 1024,
|
||||
used: Number.parseInt(used, 10) * 1024,
|
||||
avail: Number.parseInt(avail, 10) * 1024,
|
||||
target,
|
||||
};
|
||||
}),
|
||||
);
|
||||
|
||||
const diskUsage = {
|
||||
linux: linuxDfParsing,
|
||||
freebsd: linuxDfParsing,
|
||||
linux: () =>
|
||||
execFile('df -xsquashfs -xtmpfs -xdevtmpfs | tail -n+2', {
|
||||
shell: true,
|
||||
maxBuffer: MAX_BUFFER_SIZE,
|
||||
}).then(({stdout}) =>
|
||||
stdout
|
||||
.trim()
|
||||
.split('\n')
|
||||
.map((disk) => disk.split(/\s+/))
|
||||
.filter((disk) => filterMountPoint(disk[5]))
|
||||
.map(([_fs, size, used, avail, _pcent, target]) => {
|
||||
return {
|
||||
size: Number.parseInt(size, 10) * 1024,
|
||||
used: Number.parseInt(used, 10) * 1024,
|
||||
avail: Number.parseInt(avail, 10) * 1024,
|
||||
target,
|
||||
};
|
||||
}),
|
||||
),
|
||||
freebsd: () =>
|
||||
execFile('df | tail -n+2', {
|
||||
shell: true,
|
||||
maxBuffer: MAX_BUFFER_SIZE,
|
||||
}).then(({stdout}) =>
|
||||
stdout
|
||||
.trim()
|
||||
.split('\n')
|
||||
.map((disk) => disk.split(/\s+/))
|
||||
.filter((disk) => filterMountPoint(disk[5]))
|
||||
.map(([_fs, size, used, avail, _pcent, target]) => {
|
||||
return {
|
||||
size: Number.parseInt(size, 10) * 1024,
|
||||
used: Number.parseInt(used, 10) * 1024,
|
||||
avail: Number.parseInt(avail, 10) * 1024,
|
||||
target,
|
||||
};
|
||||
}),
|
||||
),
|
||||
darwin: () =>
|
||||
execFile('df -kl | tail -n+2', {
|
||||
shell: true,
|
||||
|
||||
Reference in New Issue
Block a user