Date: Tue, 26 Aug 2003 13:59:39 -0400 (EDT) From: Vivek Khera <vivek@khera.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/56011: bonnie++ doesn't do large files Message-ID: <20030826175939.663013E41@lorax.kciLink.com> Resent-Message-ID: <200308261800.h7QI0N2S031194@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 56011 >Category: ports >Synopsis: bonnie++ doesn't do large files >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 26 11:00:23 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Vivek Khera >Release: FreeBSD 4.7-RELEASE-p6 i386 >Organization: >Environment: System: FreeBSD lorax.kciLink.com 4.7-RELEASE-p6 FreeBSD 4.7-RELEASE-p6 #10: Mon Feb 24 13:13:48 EST 2003 vivek@lorax.kciLink.com:/u/lorax1/usr/obj/u/lorax1/usr/src/sys/LORAX i386 >Description: the bonnie++ benchmark can do large files if you tell it to. unfortunately, the configure script assumes you have the linux variety of large files (ie, using off64_t and friends). the patch (hack) enclosed bypasses the tests where it tries to warn you for using files which are 'too large'. >How-To-Repeat: >Fix: all other references to _LARGEFILE64_SOURCE should be left as-is since we don't need to alter the off_t type nor change the seek() calls. --- #bonnie++.cpp~ Mon Aug 25 17:08:46 2003 +++ bonnie++.cpp Mon Aug 25 17:08:46 2003 @@ -322,11 +322,7 @@ { char *sbuf = _strdup(optarg); char *size = strtok(sbuf, ":"); -#ifdef _LARGEFILE64_SOURCE file_size = size_from_str(size, "gt"); -#else - file_size = size_from_str(size, "g"); -#endif size = strtok(NULL, ""); if(size) { @@ -411,15 +407,6 @@ if(file_size % 1024 > 512) file_size = file_size + 1024 - (file_size % 1024); } -#ifndef _LARGEFILE64_SOURCE - if(file_size == 2048) - file_size = 2047; - if(file_size > 2048) - { - fprintf(stderr, "Large File Support not present, can't do %dM.\n", file_size); - usage(); - } -#endif globals.byte_io_size = __min(file_size, globals.byte_io_size); globals.byte_io_size = __max(0, globals.byte_io_size); @@ -503,14 +490,6 @@ && (directory_max_size < directory_min_size || directory_max_size < 0 || directory_min_size < 0) ) usage(); -#ifndef _LARGEFILE64_SOURCE - if(file_size > (1 << (31 - 20 + globals.io_chunk_bits)) ) - { - fprintf(stderr - , "The small chunk size and large IO size make this test impossible in 32bit.\n"); - usage(); - } -#endif if(file_size && globals.ram && (file_size * concurrency) < (globals.ram * 2) ) { fprintf(stderr >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030826175939.663013E41>