xfs-developers:
when I run the shell program as following on a xfs
FS, the process will locked.
#!/bin/sh
for((i=0;i<300000;i++)); do
truncate /mnt/current/a $(($i*8192));
cat /tmp/4kfile >> /mnt/current/a
done
/tmp/4kfile is a 4096-sized file
xfs FS mounted at /mnt/current
the truncate program:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
long long length = 0;
if( argc < 2 || argc > 3 ){
printf("Usage: truncate filename [length]\n");
return -1;
}
if( argv[2] )
length = atoll(argv[2]);
if( truncate64( argv[1], length ) ){
perror("truncate failed");
return -1;
}
return 0;
}
_________________________________________________________
Do You Yahoo!?
"发短信赢手机,快来参加雅虎巨星秀!"
http://cn.ent.yahoo.com/star/midautumn/index.html
|