Am 13.06.2010 16:25, schrieb Volker A. Brandt:
<shelob:/tmp/test,8496> foreach f ( 128 256 512 1024 2048 4096 )
Do you test on tmpfs? Could you please re-run the tests on UFS or ZFS? I
will revive my old SPARC machine and rerun the tests myself on SPARC. But I
first have to patch it (first time I switched the machine on since October
2007).
When I truss the pax process I see the SEEK_HOLE|SEEK_DATA lseek():
llseek(4, 0, SEEK_DATA) = 1048576
llseek(4, 0, SEEK_HOLE) = 0
llseek(4, 0, SEEK_DATA) = 1048576
llseek(4, 1048576, SEEK_HOLE) = 1179648
llseek(4, 1179648, SEEK_DATA) = 2097152
llseek(4, 2097152, SEEK_HOLE) = 2228224
llseek(4, 2228224, SEEK_DATA) = 3145728
llseek(4, 3145728, SEEK_HOLE) = 3276800
llseek(4, 3276800, SEEK_DATA) = 4194304
[and so on]
But then, when it comes to write the output file, pax seems to forget the
first holes:
llseek(4, 0x105E0000, SEEK_DATA) = 0x106C0000
llseek(4, 0x106C0000, SEEK_HOLE) = 0x106CA777
llseek(4, 0x106CA777, SEEK_DATA) Err#6 ENXIO
llseek(4, 0, SEEK_SET) = 0
fpathconf(4, 21) = 512
llseek(4, 0x0A8C0000, SEEK_SET) = 0x0A8C0000
llseek(6, 0x0A8C0000, SEEK_SET) = 0x0A8C0000
fstat64(6, 0x08046FD0) = 0
brk(0x0809F9A0) = 0
brk(0x080BF9A0) = 0
read(4, "\0\0\0\0\0\0\0\0\0\0\0\0".., 131072) = 131072
write(6, "\0\0\0\0\0\0\0\0\0\0\0\0".., 131072) = 131072
llseek(4, 0x0A9E0000, SEEK_SET) = 0x0A9E0000
llseek(6, 0x0A9E0000, SEEK_SET) = 0x0A9E0000
fstat64(6, 0x08046FD0) = 0
Daniel
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org