int main(int argc, char **argv)
{
- int fd1, fd2;
+ int fd1, fd2;
struct stat st1, st2;
-
- if (argc != 3) {
+
+ if (argc != 3) {
printf("Usage %s file1 file2\n", argv[0]);
return 1;
}
fd1 = open(argv[1], O_CREAT| O_RDWR, 0666);
- if (fd1 == -1) {
+ if (fd1 == -1) {
printf("Error opening %s: %s\n", argv[1], strerror(errno));
- return errno;
+ return errno;
}
fd2 = open(argv[2], O_RDONLY);
- if (fd2 == -1) {
+ if (fd2 == -1) {
printf("Error opening %s: %s\n", argv[2], strerror(errno));
- return errno;
+ return errno;
}
sleep(1);
- if ( write(fd1, "hello", strlen("hello")) != strlen("hello")) {
+ if ( write(fd1, "hello", strlen("hello")) != strlen("hello")) {
printf("Error writing: %s\n", strerror(errno));
return errno;
}
- if ( fstat(fd1, &st1) ) {
+ if ( fstat(fd1, &st1) ) {
printf("Error statting %s: %s\n", argv[1], strerror(errno));
return errno;
}
- if ( fstat(fd2, &st2) ) {
+ if ( fstat(fd2, &st2) ) {
printf("Error statting %s: %s\n", argv[2], strerror(errno));
return errno;
}
- if ( st1.st_size != st2.st_size ) {
- printf("Sizes don't match %ld, %ld\n",
+ if ( st1.st_size != st2.st_size ) {
+ printf("Sizes don't match %ld, %ld\n",
st1.st_size, st2.st_size);
return 1;
}
- if ( st1.st_mtime != st2.st_mtime ) {
- printf("Mtimes don't match %ld, %ld\n",
+ if ( st1.st_mtime != st2.st_mtime ) {
+ printf("Mtimes don't match %ld, %ld\n",
st1.st_mtime, st2.st_mtime);
return 1;
}
-
+
return 0;
}
exit 1
}
+mkdir -p /mnt/lustre2
+mount | grep /mnt/lustre2 || $START
+
echo -n "test 1: check create on 2 mtpt's..."
touch /mnt/lustre1/f1
[ -f /mnt/lustre2/f1 ] || error "test 1 failure"
echo -n "test 9: remove of open file on other node..."
touch /mnt/lustre1/f9
-tail -f /mnt/lustre/f9 &
+tail -f /mnt/lustre1/f9 &
rm /mnt/lustre2/f9
kill %1
cat /mnt/lustre1/f9 && error "test 9 fails"
echo "pass"
$CLEAN
-$START
-
-
exit