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]);
49 fd1 = open(argv[1], O_CREAT | O_RDWR, 0666);
51 printf("Error opening %s: %s\n", argv[1], strerror(errno));
55 fd2 = open(argv[2], O_RDONLY);
57 printf("Error opening %s: %s\n", argv[2], strerror(errno));
63 if (write(fd1, "hello", strlen("hello")) != strlen("hello")) {
64 printf("Error writing: %s\n", strerror(errno));
68 if (fstat(fd1, &st1)) {
69 printf("Error statting %s: %s\n", argv[1], strerror(errno));
73 if (fstat(fd2, &st2)) {
74 printf("Error statting %s: %s\n", argv[2], strerror(errno));
78 if (st1.st_size != st2.st_size) {
79 printf("Sizes don't match %lu, %lu\n",
80 (unsigned long)st1.st_size,
81 (unsigned long)st2.st_size);
85 if (st1.st_mtime != st2.st_mtime) {
86 printf("Mtimes don't match %ld, %ld\n",
87 st1.st_mtime, st2.st_mtime);
91 if (st1.st_blocks != st2.st_blocks) {
92 printf("Blocks don't match %ld, %ld\n",
93 (long)st1.st_blocks, (long)st2.st_blocks);