Something for the contrib directory

Heath Kehoe hakehoe at norand.com
Fri Nov 12 22:05:27 UTC 1999


Hi, all...

This is a small perl script I wrote to ease the creation of cnfs
buffers.  This was necessary because HP/UX doesn't have a /dev/zero,
so the example dd commands shown in the documentation won't work.
I figure we could just stick it in to the contrib directory...
(call it "mkbuf")

Usage is pretty easy, just say:
  mkbuf 2000000 buffer
to make a (slightly less than) 2G buffer.  The argument is the size
in K, which is the same as what you'll put in your cycbuff.conf.

If you've got largefiles support (but your perl doesn't) this might
still work:
  mkbuf 8000000 - > buffer

If your perl does do largefiles, you can just say:
  mkbuf 8000000 buffer

 enjoy,
 -Heath


#!/usr/bin/perl

sub usage {
	print STDERR "Usage: $0 <size in KB> <filename>\n";
	exit 1;
}

usage if(@ARGV != 2);

$buf1k = "\0"x1024;
$buf1m = "$buf1k"x1024;

$kb = $ARGV[0] * 1;
&usage if($kb == 0);

if($ARGV[1] eq '-') {
	open(FILE, "|cat") or die;
} else {
	open(FILE, ">$ARGV[1]") or die;
}

for($i = 0; $i+1024 <= $kb; $i+=1024) {
	print FILE $buf1m or die;
}
if($i < $kb) {
	print FILE "$buf1k"x($kb-$i) or die;
}

close FILE;



More information about the inn-workers mailing list