4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 only,
8 * as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License version 2 for more details (a copy is included
14 * in the LICENSE file that accompanied this code).
16 * You should have received a copy of the GNU General Public License
17 * version 2 along with this program; If not, see
18 * http://www.gnu.org/licenses/gpl-2.0.html
23 * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
24 * Use is subject to license terms.
27 * This file is part of Lustre, http://www.lustre.org/
28 * Lustre is a trademark of Sun Microsystems, Inc.
32 #include <sys/types.h>
39 int main(int argc, char **argv)
45 printf("Usage %s file1 file2\n", argv[0]);
50 fd1 = open(argv[1], O_CREAT| O_RDWR, 0666);
52 printf("Error opening %s: %s\n", argv[1], strerror(errno));
56 fd2 = open(argv[2], O_RDONLY);
58 printf("Error opening %s: %s\n", argv[2], strerror(errno));
64 if ( write(fd1, "hello", strlen("hello")) != strlen("hello")) {
65 printf("Error writing: %s\n", strerror(errno));
69 if ( fstat(fd1, &st1) ) {
70 printf("Error statting %s: %s\n", argv[1], strerror(errno));
74 if ( fstat(fd2, &st2) ) {
75 printf("Error statting %s: %s\n", argv[2], strerror(errno));
79 if ( st1.st_size != st2.st_size ) {
80 printf("Sizes don't match %lu, %lu\n",
81 (unsigned long)st1.st_size,
82 (unsigned long)st2.st_size);
86 if ( st1.st_mtime != st2.st_mtime ) {
87 printf("Mtimes don't match %ld, %ld\n",
88 st1.st_mtime, st2.st_mtime);
92 if ( st1.st_blocks != st2.st_blocks ) {
93 printf("Blocks don't match %ld, %ld\n",
94 (long)st1.st_blocks, (long)st2.st_blocks);