debian/0000755000000000000000000000000012233447117007172 5ustar debian/fsmark.doc-base0000644000000000000000000000043311746255222012056 0ustar Document: fsmark Title: FS_MARK Author: Ric Wheeler Abstract: This introduction gives a short overview about fs_mark. It describes its command line arguments and provides some examples. Section: Help/HOWTO Format: text Files: /usr/share/doc/fsmark/README.gz debian/watch0000644000000000000000000000006511746255222010226 0ustar version=3 http://sf.net/fsmark/fs_mark-(.+)\.tar\.gz debian/control0000644000000000000000000000135012224746305010575 0ustar Source: fsmark Section: utils Priority: optional Maintainer: Martin Steigerwald Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1.1) Standards-Version: 3.9.4 Homepage: http://sourceforge.net/projects/fsmark/ Vcs-Git: git://anonscm.debian.org/collab-maint/fsmark.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/fsmark.git Package: fsmark Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: benchmark for simulating synchronous write workloads The fs_mark benchmark tests synchronous write workloads. It can vary the number of files, directory depth, etc. It has detailed timings for reads, writes, unlinks and fsyncs that make it good for simulating mail servers and other setups. debian/fsmark.manpages0000644000000000000000000000002111746255222012165 0ustar debian/fs_mark.1 debian/docs0000644000000000000000000000002111746255222010040 0ustar README plot_test debian/rules0000755000000000000000000000067212224744031010252 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ debian/fs_mark.10000644000000000000000000000327111747501705010704 0ustar .\" Generated by help2man 1.40.6. .TH FS_MARK "1" "March 2012" "fs_mark: Benchmark synchronous/async file creation" "User Commands" .SH NAME fs_mark \- Benchmark synchronous/async file creation .SH SYNOPSIS .B fs_mark [\fIOPTIONS\fR] \-d \fIDIRECTORY\fR [\-d \fIDIRECTORY\fR ...] .SH DESCRIPTION .B fs_mark is meant to give some low level bashing to file systems. The write pattern that it concentrates on is heavily synchronous IO across multiple directories, drives, etc. .SH OPTIONS .TP .BI \-h Print usage and exit. .TP .BI \-k Keep files after each iteration. .TP .BI \-F Run until filesystem is full. .TP .BI \-S Syncmethod Method to be used for synchronizing changes to disk: .IP 0: No Sync .IP 1: fsyncBeforeClose .IP 2: sync/1_fsync .IP 3: PostReverseFsync .IP 4: syncPostReverseFsync .IP 5: PostFsync .IP 6: syncPostFsync .TP .BI \-D number Use \fInumber\fR subdirectories. .TP .BI \-N number Use \fInumber\fR files in each subdirectory in round robin mode. .TP .BI \-d directory Use \fIdirectory\fR. Can be specified multiple times. .TP .BI \-l logfile Log to \fIlogfile\fR. .TP .BI \-L number Repeat the benchmark \fInumber\fR of iterations. .TP .BI \-n number Use \fInumber\fR of files per iteration. .TP .BI \-p number Use \fInumber\fR of total bytes file names. .TP .BI \-r number Use \fInumber\fR of random bytes in file names. .TP .BI \-s byte_count Use \fInumber\fR of bytes as size of each file. .TP .BI \-t number Use \fInumber\fR of threads. .TP .BI \-w number Use \fInumber\fR (of bytes per write() syscall. .SH AUTHORS .B fs_mark was written by Ric Wheeler . .PP This manual page was written by Martin Steigerwald , for the Debian project (but may be used by others). debian/compat0000644000000000000000000000000212224744043010366 0ustar 9 debian/gbp.conf0000644000000000000000000000013211746255222010607 0ustar [DEFAULT] pristine-tar = True postimport = git-dch -N%(version)s -S -a ignore-new = True debian/copyright0000644000000000000000000000700011746256767011143 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: fsmark Source: http://downloads.sourceforge.net/project/fsmark/fsmark/3.3/fs_mark-3.3.tar.gz Files: * Copyright: 2003-2004 EMC Corporation 2003-2004 Ric Wheeler License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package 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 for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: debian/* Copyright: 2012 Martin Steigerwald License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package 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 for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: lib_timing.c Copyright: 2000 Carl Staelin 1994-1998 Larry McVoy License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package 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 for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Comment: Carl Staelin and Larry McVoy kindly changed the license from GPL without version with additional restrictions to GPL version 2 or later without additional restrictions (see debian/patches/lib_timing.c-copyright and the ITP: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=655224#32): . ------- Forwarded message ------- . Subject: Re: Fwd: Re: ITP fsmark - bug 655224: License restriction for lib_timing.c DFSG compliant? Date: Wednesday, 11. January 2012, 11:59:10 From: Carl Staelin <…@google.com> To: Martin Steigerwald Cc: Larry McVoy <…@bitmover.com>, Ric Wheeler <…@redhat.com> . For the bits of lmbench that were used by fsmark - namely lib_timing.c -, we are happy to give it a GPL 2 (or later) license without any additional restrictions. . Cheers, . Carl debian/changelog0000644000000000000000000000243612224746703011054 0ustar fsmark (3.3-2) unstable; urgency=low * Makefile patches: * makefile-test: Reduce number and size of files to make automatic tests significantly shorter. * makefile-clean-all-log-files: Really clean all fs_mark log files. * makefile-use-flags: Actually use CFLAGS and LDFLAGS to allow for hardening options to be passed through. * makefile-hardening: Only add to flags to allow for hardening flags. * Use debhelper version 9. * Use canonical VCS URLs. * Updated Standards-Version to 3.9.4. -- Martin Steigerwald Tue, 08 Oct 2013 10:03:22 +0200 fsmark (3.3-1) unstable; urgency=low * Initial release (Closes: #655224) * Makefile: * patches/makefile-install: Add install target with $(DESTDIR) support * patches/makefile-test: Make test target work during dpkg-buildpackage * patches/makefile-dynamiclinking: Change makefile to link the executable dynamically * debian/copyright and patches/lib_timing.c-copyright: Document the license change that Carl Staelin and Larry McVoy kindly agreed to. Many thanks. * debian/fs_mark.1: Manpage, generated with help2man and revised manually. * debian/watch: Watch file using a sourceforge mirror. -- Martin Steigerwald Thu, 26 Apr 2012 16:53:00 +0200 debian/source/0000755000000000000000000000000012224746272010476 5ustar debian/source/format0000644000000000000000000000001411746255222011702 0ustar 3.0 (quilt) debian/patches/0000755000000000000000000000000012224745031010615 5ustar debian/patches/makefile-hardening0000644000000000000000000000071212224743471014260 0ustar Description: Change makefile to build with hardening flags. This patch changes the makefile with hardening flags. It fixes lintian lintian tags hardening-no-relro and hardening-no-fortify-functions. Author: Martin Steigerwald --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ DIR2= /test/dir2 COBJS= fs_mark.o lib_timing.o -CFLAGS= -O2 -Wall -D_FILE_OFFSET_BITS=64 +CFLAGS+= -O2 -Wall -D_FILE_OFFSET_BITS=64 BIN=$(DESTDIR)/usr/bin debian/patches/makefile-dynamiclinking0000644000000000000000000000071112224744637015325 0ustar Description: Change makefile to link the executable dynamically. This patch changes the makefile to link the executable dynamically. Author: Martin Steigerwald --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ fs_mark.o: fs_mark.c fs_mark.h fs_mark: fs_mark.o lib_timing.o - ${CC} ${CFLAGS} ${LDFLAGS} -static -o fs_mark fs_mark.o lib_timing.o + ${CC} ${CFLAGS} ${LDFLAGS} -o fs_mark fs_mark.o lib_timing.o install: install -d $(BIN) debian/patches/lib_timing.c-copyright0000644000000000000000000000310011746257652015115 0ustar Description: Changes license to GPL v2 without additional restrictions This patch changes the license of lib_timing.c to GPL v2 without additional restrictions. It reflects the license change Carl Staelin and Larry McVoy did on 11th of January 2012 (see debian/copyright). Author: Martin Steigerwald Index: fsmark/lib_timing.c =================================================================== --- fsmark.orig/lib_timing.c 2012-04-26 16:24:18.428430911 +0200 +++ fsmark/lib_timing.c 2012-04-26 16:44:18.000000000 +0200 @@ -7,10 +7,20 @@ * * Copyright (c) 2000 Carl Staelin. * Copyright (c) 1994-1998 Larry McVoy. - * Distributed under the FSF GPL with - * additional restriction that results may published only if - * (1) the benchmark is unmodified, and - * (2) the version in the sccsid below is included in the report. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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 for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; If not, see . + * * Support for this development by Sun Microsystems is gratefully acknowledged. */ debian/patches/makefile-install0000644000000000000000000000153611746255222013774 0ustar Description: Add install target with $(DESTDIR) support. This patch adds a install target to the makefile which installs the binary to $(DESTDIR)/usr/bin. Author: Martin Steigerwald Index: fsmark/Makefile =================================================================== --- fsmark.orig/Makefile 2012-01-09 15:44:04.043832167 +0100 +++ fsmark/Makefile 2012-01-09 16:31:32.335726257 +0100 @@ -12,6 +12,8 @@ COBJS= fs_mark.o lib_timing.o CFLAGS= -O2 -Wall -D_FILE_OFFSET_BITS=64 +BIN=$(DESTDIR)/usr/bin + all: fs_mark fs_mark.o: fs_mark.c fs_mark.h @@ -19,6 +21,10 @@ fs_mark: fs_mark.o lib_timing.o ${CC} -static -o fs_mark fs_mark.o lib_timing.o +install: + install -d $(BIN) + install ./fs_mark $(BIN) + test: fs_mark ./fs_mark -d ${DIR1} -d ${DIR2} -s 51200 -n 4096 ./fs_mark -d ${DIR1} -d ${DIR2} -s 51200 -n 4096 -r debian/patches/series0000644000000000000000000000016412224744571012043 0ustar makefile-install makefile-use-flags makefile-hardening makefile-test makefile-dynamiclinking lib_timing.c-copyright debian/patches/makefile-use-flags0000644000000000000000000000053612224745031014205 0ustar Description: Add actually use CFLAGS. Author: Martin Steigerwald --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ fs_mark.o: fs_mark.c fs_mark.h fs_mark: fs_mark.o lib_timing.o - ${CC} -static -o fs_mark fs_mark.o lib_timing.o + ${CC} ${CFLAGS} ${LDFLAGS} -static -o fs_mark fs_mark.o lib_timing.o install: install -d $(BIN) debian/patches/makefile-test0000644000000000000000000000305712224743616013306 0ustar Description: Makefile: Make test target work during building the package. This patch changes the test directory paths, creates the directories, removes them after the test and adds a value to the argument -r in order to make the test target work in during dpkg-buildpackage. Also reduced number and size of files a bit to reduce space consumption during the tests. Also make sure to delete all files the test leaves around. Author: Martin Steigerwald --- a/Makefile +++ b/Makefile @@ -6,8 +6,9 @@ # Modifications include using fsync after wrting to flush to disk and changes to check return # values from syscalls. # -DIR1= /test/dir1 -DIR2= /test/dir2 +ROOTDIR= test +DIR1= dir1 +DIR2= dir2 COBJS= fs_mark.o lib_timing.o CFLAGS+= -O2 -Wall -D_FILE_OFFSET_BITS=64 @@ -26,11 +27,14 @@ install ./fs_mark $(BIN) test: fs_mark - ./fs_mark -d ${DIR1} -d ${DIR2} -s 51200 -n 4096 - ./fs_mark -d ${DIR1} -d ${DIR2} -s 51200 -n 4096 -r - ./fs_mark -d ${DIR1} -d ${DIR2} -s 51200 -n 4096 -D 128 - ./fs_mark -d ${DIR1} -d ${DIR2} -s 51200 -n 4096 -r -D 128 + mkdir -p ${ROOTDIR}/${DIR1} ${ROOTDIR}/${DIR2} + ./fs_mark -d ${ROOTDIR}/${DIR1} -d ${ROOTDIR}/${DIR2} -s 4096 -n 512 + ./fs_mark -d ${ROOTDIR}/${DIR1} -d ${ROOTDIR}/${DIR2} -s 4096 -n 512 -r 20 + ./fs_mark -d ${ROOTDIR}/${DIR1} -d ${ROOTDIR}/${DIR2} -s 4096 -n 512 -D 128 + ./fs_mark -d ${ROOTDIR}/${DIR1} -d ${ROOTDIR}/${DIR2} -s 4096 -n 512 -r 20 -D 128 + rm -rf ${ROOTDIR} clean: - rm -f ${COBJS} fs_mark fs_log.txt + rm -f ${COBJS} fs_mark fs_log.txt fs_log.txt.[0-9]* + rm -rf ${ROOTDIR}