From: Jarkko Hietaniemi Date: Fri, 17 Sep 1999 11:49:30 +0000 (+0000) Subject: Filesystem quotas may stop you from using large files. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=eed7fde46a7c97cd15428b560d0a91c36138ee71;p=p5sagit%2Fp5-mst-13.2.git Filesystem quotas may stop you from using large files. p4raw-id: //depot/cfgperl@4167 --- diff --git a/pod/perldelta.pod b/pod/perldelta.pod index de5a718..1118c79 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -185,16 +185,23 @@ start losing precision (their lower digits). If you have filesystems that support "large files" (files larger than 2 gigabytes), you may now also be able to create and access them from Perl. -Note that in addition to requiring a proper file system to do this you -may also need to adjust your per-process (or your per-system, or per-user-group) -maximum filesize limits before running Perl scripts that try to handle large -files, especially if you intend to write such files. - -Adjusting your file system/system limits is outside the scope of Perl. -For process limits, you may try to increase the limits using your -shell's limit/ulimit command before running Perl. The BSD::Resource -extension (not included with the standard Perl distribution) may also -be of use, it contains getrlimit/setrlimit calls. +Note that in addition to requiring a proper file system to do large +files you may also need to adjust your per-process (or your +per-system, or per-process-group, or per-user-group) maximum filesize +limits before running Perl scripts that try to handle large files, +especially if you intend to write such files. + +Finally, in addition to your process/process group maximum filesize +limits, you may have quota limits on your filesystems that stop you +(your user id or your user group id) from using large files. + +Adjusting your process/user/group/file system/operating system limits +is outside the scope of Perl core language. For process limits, you +may try increasing the limits using your shell's limits/limit/ulimit +command before running Perl. The BSD::Resource extension (not +included with the standard Perl distribution) may also be of use, it +offers the getrlimit/setrlimit interface that can be used to adjust +process resource usage limits, including the maximum filesize limit. (Large file support is related to 64-bit support, for obvious reasons.) diff --git a/t/lib/syslfs.t b/t/lib/syslfs.t index 4d38a8e..14a968a 100644 --- a/t/lib/syslfs.t +++ b/t/lib/syslfs.t @@ -30,13 +30,15 @@ sub explain { print <big") or do { warn "open failed: $!\n"; bye }; binmode BIG; seek(BIG, 5_000_000_000, $SEEK_SET); + # Either the print or (more likely, thanks to buffering) the close will # fail if there are are filesize limitations (process or fs). my $print = print BIG "big"; my $close = close BIG if $print; unless ($print && $close) { - $ENV{LC_ALL} = "C"; + unless ($print) { + print "# print failed: $!\n" + } else { + print "# close failed: $!\n" + } if ($! =~/File too large/) { print "1..0\n# writing past 2GB failed\n"; explain();