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/
31 #include <sys/types.h>
38 int main(int argc, char **argv)
44 printf("Usage %s file1 file2\n", argv[0]);
48 fd1 = open(argv[1], O_CREAT | O_RDWR, 0666);
50 printf("Error opening %s: %s\n", argv[1], strerror(errno));
54 fd2 = open(argv[2], O_RDONLY);
56 printf("Error opening %s: %s\n", argv[2], strerror(errno));
62 if (write(fd1, "hello", strlen("hello")) != strlen("hello")) {
63 printf("Error writing: %s\n", strerror(errno));
67 if (fstat(fd1, &st1)) {
68 printf("Error statting %s: %s\n", argv[1], strerror(errno));
72 if (fstat(fd2, &st2)) {
73 printf("Error statting %s: %s\n", argv[2], strerror(errno));
77 if (st1.st_size != st2.st_size) {
78 printf("Sizes don't match %lu, %lu\n",
79 (unsigned long)st1.st_size,
80 (unsigned long)st2.st_size);
84 if (st1.st_mtime != st2.st_mtime) {
85 printf("Mtimes don't match %ld, %ld\n",
86 st1.st_mtime, st2.st_mtime);
90 if (st1.st_blocks != st2.st_blocks) {
91 printf("Blocks don't match %ld, %ld\n",
92 (long)st1.st_blocks, (long)st2.st_blocks);