X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Ftruncate.c;h=61600d8dbbd001ceab40d348416178094fe9774c;hb=faa958d6c5dda97f0c014d3ba36d40b324c2941a;hp=70fbbc7b5590510f414d56bb2af7b0c87aa99ea1;hpb=99ce67fa5579e70ff2275bf5c66f8534d7ca72f1;p=fs%2Flustre-release.git diff --git a/lustre/tests/truncate.c b/lustre/tests/truncate.c index 70fbbc7..61600d8 100644 --- a/lustre/tests/truncate.c +++ b/lustre/tests/truncate.c @@ -1,24 +1,68 @@ -#include -#include +/* + * 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) 2002, 2010, Oracle and/or its affiliates. All rights reserved. + * Use is subject to license terms. + * + * Copyright (c) 2011, 2014, Intel Corporation. + */ +/* + * This file is part of Lustre, http://www.lustre.org/ + * Lustre is a trademark of Sun Microsystems, Inc. + */ + #include -#include +#include #include +#include +#include +#include int main(int argc, char **argv) { - unsigned long long off; - int err; + const char *path; + off_t length; + int rc; - if (argc != 3) { - printf("usage %s file offset (kilobytes)\n", argv[0]); - return 1; + if (argc != 3) { + fprintf(stderr, "Usage: %s PATH LENGTH\n", + program_invocation_short_name); + exit(EXIT_FAILURE); } - off = strtoul(argv[2], NULL, 0); - off *= 1024; - err = truncate64(argv[1], off); - if ( err ) { - printf("Error truncating %s: %s\n", argv[1], strerror(errno)); + path = argv[1]; + length = strtoull(argv[2], NULL, 0); + + rc = truncate(path, length); + if (rc < 0) { + fprintf(stderr, "%s: cannot truncate '%s' to length %lld: %s\n", + program_invocation_short_name, path, (long long)length, + strerror(errno)); + exit(EXIT_FAILURE); } - return err; + + exit(EXIT_SUCCESS); }