luci-base: rpcd: handle swap entries in getBlockDevices
Add entries from `/proc/swaps` to the result array as well in order to let the ui properly deal with swap files. Fixes: #6350 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
d25d5c28b7
commit
ad3509bf3b
1 changed files with 21 additions and 1 deletions
|
@ -419,13 +419,33 @@ const methods = {
|
||||||
size: +readfile(`/sys/class/block/${dev}/size`) * 512
|
size: +readfile(`/sys/class/block/${dev}/size`) * 512
|
||||||
};
|
};
|
||||||
|
|
||||||
for (m in match(line, / (\w+)="([^"]+)"/g))
|
for (let m in match(line, / (\w+)="([^"]+)"/g))
|
||||||
e[lc(m[1])] = m[2];
|
e[lc(m[1])] = m[2];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
block.close();
|
block.close();
|
||||||
|
|
||||||
|
const swaps = open('/proc/swaps', 'r');
|
||||||
|
|
||||||
|
if (swaps) {
|
||||||
|
for (let line = swaps.read('line'); length(line); line = swaps.read('line')) {
|
||||||
|
let m = match(line, /^(\/\S+)\s+\S+\s+(\d+)/);
|
||||||
|
|
||||||
|
if (m) {
|
||||||
|
let dev = replace(m[1], /\\(\d\d\d)/g, (_, n) => chr(int(n, 8)));
|
||||||
|
|
||||||
|
result[`swap:${m[1]}`] = {
|
||||||
|
dev,
|
||||||
|
type: 'swap',
|
||||||
|
size: +m[2] * 1024
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
swaps.close();
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Reference in a new issue