From owner-svn-src-projects@FreeBSD.ORG Wed Oct 12 15:59:29 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6CFF106564A; Wed, 12 Oct 2011 15:59:29 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A6BB68FC08; Wed, 12 Oct 2011 15:59:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p9CFxTRc073066; Wed, 12 Oct 2011 15:59:29 GMT (envelope-from pho@svn.freebsd.org) Received: (from pho@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p9CFxTBh073064; Wed, 12 Oct 2011 15:59:29 GMT (envelope-from pho@svn.freebsd.org) Message-Id: <201110121559.p9CFxTBh073064@svn.freebsd.org> From: Peter Holm Date: Wed, 12 Oct 2011 15:59:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r226309 - projects/stress2/testcases/lockf2 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Oct 2011 15:59:29 -0000 Author: pho Date: Wed Oct 12 15:59:29 2011 New Revision: 226309 URL: http://svn.freebsd.org/changeset/base/226309 Log: Added reservation of disk space. Added check for test done. Modified: projects/stress2/testcases/lockf2/lockf2.c Modified: projects/stress2/testcases/lockf2/lockf2.c ============================================================================== --- projects/stress2/testcases/lockf2/lockf2.c Wed Oct 12 15:56:15 2011 (r226308) +++ projects/stress2/testcases/lockf2/lockf2.c Wed Oct 12 15:59:29 2011 (r226309) @@ -50,13 +50,39 @@ __FBSDID("$FreeBSD$"); char file[128]; int fd; +int freespace; int setup(int nb) { + int64_t bl; + int64_t in; + int64_t reserve_bl; + int64_t reserve_in; int i; char buf[1024]; + if (nb == 0) { + getdf(&bl, &in); + + /* Resource requirements: */ + reserve_in = 1 * op->incarnations + 2; + reserve_bl = 1064960 * op->incarnations + 2048; + freespace = (reserve_bl <= bl && reserve_in <= in); + if (!freespace) + reserve_bl = reserve_in = 0; + + if (op->verbose > 1) + printf("lockf2(incarnations=%d). Free(%jdk, %jd), reserve(%jdk, %jd)\n", + op->incarnations, bl/1024, in, reserve_bl/1024, reserve_in); + reservedf(reserve_bl, reserve_in); + putval(freespace); + } else { + freespace = getval(); + } + if (!freespace) + _exit (0); + sprintf(file, "lockf.%d", getpid()); if ((fd = open(file,O_CREAT | O_TRUNC | O_RDWR, 0600)) == -1) err(1, "creat(%s)", file); @@ -84,7 +110,7 @@ test(void) if ((fd = open(file, O_RDWR, 0600)) == -1) err(1, "open(%s)", file); - for (i = 0; i < 1024; i++) { + for (i = 0; i < 1024 && done_testing == 0; i++) { pos = random_int(0, 1024 * 1024 - 1); if (lseek(fd, pos, SEEK_SET) == -1) err(1, "lseek");