diff --git a/mount/lang/en b/mount/lang/en index bc8c41a9c..ff8f96b08 100644 --- a/mount/lang/en +++ b/mount/lang/en @@ -501,7 +501,9 @@ cswap_file=The swap file $1 does not exist. cswap_size=Create and mount a swap file with size acl_sysinfo=Show available disk data on Dashboard? + sysinfo_total=Total sysinfo_dev=Device ID +sysinfo_smalltmp=Warning! The filesystem $2 which contains the Webmin temp files directory $1 has a size of only $4, which is less than the recommended minimum of $3 for temporary and backup files. Consider switching the temp files location to a different directory in the Webmin Configuration module. __norefs=1 diff --git a/mount/system_info.pl b/mount/system_info.pl index bd4f54e1c..f492e7824 100644 --- a/mount/system_info.pl +++ b/mount/system_info.pl @@ -76,12 +76,34 @@ foreach my $disk (@$disks) { $dev_id]); } $html .= &ui_columns_end(); -return ({ 'type' => 'html', - 'desc' => $desc, - 'open' => $open, - 'id' => $module_name . '_disks_info', - 'html' => $html - }); +my @rv = ({ 'type' => 'html', + 'desc' => $desc, + 'open' => $open, + 'id' => $module_name . '_disks_info', + 'html' => $html + }); + +# Check if the filesystem the Webmin temp dir is on is too small +my $tmp = $gconfig{'tempdir'} || &default_webmin_temp_dir(); +my $small = 10*1024*1024*102; # 10 MB +foreach my $disk (sort { length($b->{'dir'}) <=> length($a->{'dir'}) } @$disks) { + if (&is_under_directory($disk->{'dir'}, $tmp)) { + if ($disk->{'total'} <= $small && &foreign_available("webmin")) { + push(@rv, { 'type' => 'warning', + 'level' => 'info', + 'warning' => &text('sysinfo_smalltmp', + "$tmp", + "$disk->{'dir'}", + &nice_size($small), + &nice_size($disk->{'total'}), + &get_webprefix()."/webmin/edit_advanced.cgi"), + }); + } + last; + } + } + +return @rv; } sub ucwords