TRIM: code optimization

This commit is contained in:
bergware
2023-03-18 21:47:39 +01:00
parent 72d63b68af
commit a82b0d6d09
+12 -15
View File
@@ -22,13 +22,7 @@ if ($argc==2 && $argv[1]=='cron') {
// trim btrfs
echo shell_exec("fstrim -va 2>/dev/null");
// trim zfs
exec("zfs list -Ho name,mounted",$zfs_pools);
foreach ($zfs_pools as $pool) {
[$name,$mounted] = preg_split('/\s+/',$pool);
if ($mounted != 'yes') continue;
exec("zpool trim -w $name 2>/dev/null");
echo zfs_info($name)."\n";
}
zfs_trim(true);
exit(0);
}
@@ -37,6 +31,16 @@ $_SERVER['REQUEST_URI'] = 'settings';
$login_locale = _var($display,'locale');
require_once "$docroot/webGui/include/Translations.php";
function zfs_trim($echo) {
exec("zfs list -Ho name,mounted",$pools);
foreach ($pools as $pool) {
[$name,$mounted] = preg_split('/\s+/',$pool);
if ($mounted != 'yes') continue;
exec("zpool trim -w $name 2>/dev/null");
if ($echo) echo zfs_info($name)."\n"; else write(zfs_info($name)."\r","\n");
}
}
function zfs_info($name) {
$trim = preg_replace('/(.$)/',' $1',exec("zfs list -Ho used $name"))."iB";
$bytes = exec("zfs list -Hpo used $name");
@@ -70,13 +74,6 @@ foreach ($mounts as $mount) {
}
// trim zfs
exec("zfs list -Ho name,mounted",$zfs_pools);
foreach ($zfs_pools as $pool) {
[$name,$mounted] = preg_split('/\s+/',$pool);
if ($mounted != 'yes') continue;
write("/mnt/$name: ... <i class='fa fa-spin fa-circle-o-notch'></i>\r");
exec("zpool trim -w $name 2>/dev/null");
write(zfs_info($name)."\r","\n");
}
zfs_trim();
write(_("Finished")."\n",'_DONE_','');
?>