X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fcreatetest.c;h=3795f051ec4036e9113f68da5720f79810dc8cda;hb=65ec69f84b6452fd626bc3da980d31a4ef05a00e;hp=6223034f6a87212bab4eb0bc4903071c08a0190e;hpb=96ec6856f91f7f9031cfce4273c714d72cfe59ae;p=fs%2Flustre-release.git diff --git a/lustre/tests/createtest.c b/lustre/tests/createtest.c index 6223034..3795f05 100644 --- a/lustre/tests/createtest.c +++ b/lustre/tests/createtest.c @@ -1,3 +1,39 @@ +/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- + * vim:expandtab:shiftwidth=8:tabstop=8: + * + * GPL HEADER START + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 only, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License version 2 for more details (a copy is included + * in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU General Public License + * version 2 along with this program; If not, see + * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + * + * GPL HEADER END + */ +/* + * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Use is subject to license terms. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. + */ + #include #include #include @@ -31,7 +67,7 @@ int main(int argc, char *argv[]) int mode = i | 0644; int rc; - sprintf(name, "%s-mknod%06o", argv[1], mode); + sprintf(name, "%s-mknod%07o", argv[1], mode); rc = mknod(name, mode, 0x1234); switch (i) { case 0: @@ -57,18 +93,27 @@ int main(int argc, char *argv[]) argv[0], name, st.st_mode, mode); exit(12); } + if (i == S_IFCHR || i == S_IFBLK) { + if (st.st_rdev != 0x1234) { + fprintf(stderr, "%s: ERROR rdev %s: " + "%llu != 0x1234", + argv[0], name, + (unsigned long long)st.st_rdev); + exit(13); + } + } rc = unlink(name); if (rc < 0) { fprintf(stderr, "%s: ERROR unlink %s: %s", argv[0], name, strerror(errno)); - exit(13); + exit(14); } break; default: if (rc == 0) { fprintf(stderr, "%s: ERROR: %s created\n", argv[0], name); - exit(14); + exit(15); } } } @@ -80,7 +125,7 @@ int main(int argc, char *argv[]) int rc; mode = i | 0644; - sprintf(name, "%s-creat%06o", argv[1], mode); + sprintf(name, "%s-creat%07o", argv[1], mode); fd = open(name, O_CREAT|O_RDONLY, mode); if (fd < 0) { fprintf(stderr, "%s: ERROR creat %s: %s\n",