Skip to content

Commit

Permalink
luci-base: rpcd: handle swap entries in getBlockDevices
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
jow- committed Apr 28, 2023
1 parent d25d5c2 commit ad3509b
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion modules/luci-base/root/usr/share/rpcd/ucode/luci
Expand Up @@ -419,13 +419,33 @@ const methods = {
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];
}
}

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;
}
else {
Expand Down

0 comments on commit ad3509b

Please sign in to comment.