X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fmunlink.c;h=80778a783eac2acecd2dd3c945206c38150ea529;hb=e7d91d9b8cf291d638857b6bd904469b46d1273a;hp=0f424348635c9ad387419d8717ec186967035aa0;hpb=c5050e412572b00cbe93d8517d2d1f767bebfa92;p=fs%2Flustre-release.git diff --git a/lustre/tests/munlink.c b/lustre/tests/munlink.c old mode 100755 new mode 100644 index 0f42434..80778a7 --- a/lustre/tests/munlink.c +++ b/lustre/tests/munlink.c @@ -1,6 +1,33 @@ -/* -*- 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.gnu.org/licenses/gpl-2.0.html + * + * GPL HEADER END */ +/* + * Copyright (c) 2002, 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 @@ -9,20 +36,27 @@ #include #include -int main(int argc, char ** argv) +int main(int argc, char **argv) { - int rc, i; + int rc = 0, i; - if (argc < 2) { - printf("Usage %s filename\n", argv[0]); - return 1; - } + if (argc < 2) { + printf("Usage %s filename {filename ...}\n", argv[0]); + return 1; + } - for (i = 1; i < argc; i++) { - rc = unlink(argv[i]); - if (rc) - printf("unlink(%s) error: %s\n", argv[i], - strerror(errno)); - } - return rc; -} + for (i = 1; i < argc; i++) { + rc = unlink(argv[i]); + if (rc) { + printf("unlink(%s): %s ", argv[i], strerror(errno)); + rc = access(argv[i], F_OK); + if (rc && errno == ENOENT) + printf("(unlinked anyways)\n"); + else if (rc == 0) + printf("(still exists)\n"); + else + printf("(%s looking up)\n", strerror(errno)); + } + } + return rc; +}