]> git.apps.os.sepia.ceph.com Git - ffsb.git/commitdiff
Fix accounting for write-all operations
authorDominik Bruhn <dominik@dbruhn.de>
Mon, 23 Apr 2012 12:30:02 +0000 (14:30 +0200)
committerDominik Bruhn <dominik@dbruhn.de>
Mon, 23 Apr 2012 12:30:02 +0000 (14:30 +0200)
FFSB wrongly accounted writefile operations. The whole filesize was taken into
account and not only the amount written to the file. This lead to extremly high
throughputs.

fileops.c

index 59db2b41969ef0f8b58cb4ee64f90fda798736f1..801fa42f7cca8a62e7b0099d303e732bf173306c 100644 (file)
--- a/fileops.c
+++ b/fileops.c
@@ -220,7 +220,7 @@ void ffsb_readall(ffsb_thread_t *ft, ffsb_fs_t *fs, unsigned opnum)
 /* Shared core between ffsb_writefile and ffsb_writefile_fsync.*/
 
 static unsigned ffsb_writefile_core(ffsb_thread_t *ft, ffsb_fs_t *fs,
-                                   unsigned opnum, uint64_t *filesize_ret,
+                                   unsigned opnum, uint32_t *writesize_ret,
                                    int fsync_file)
 {
        struct benchfiles *bf = (struct benchfiles *)fs_get_opdata(fs, opnum);
@@ -277,28 +277,28 @@ static unsigned ffsb_writefile_core(ffsb_thread_t *ft, ffsb_fs_t *fs,
        }
        unlock_file_reader(curfile);
        fhclose(fd, ft, fs);
-       *filesize_ret = filesize;
+       *writesize_ret = write_size;
        return iterations;
 }
 
 void ffsb_writefile(ffsb_thread_t *ft, ffsb_fs_t *fs, unsigned opnum)
 {
        unsigned iterations;
-       uint64_t filesize;
+       uint32_t writesize;
 
-       iterations = ffsb_writefile_core(ft, fs, opnum, &filesize, 0);
-       ft_incr_op(ft, opnum, iterations, filesize);
-       ft_add_writebytes(ft, filesize);
+       iterations = ffsb_writefile_core(ft, fs, opnum, &writesize, 0);
+       ft_incr_op(ft, opnum, iterations, writesize);
+       ft_add_writebytes(ft, writesize);
 }      
 
 void ffsb_writefile_fsync(ffsb_thread_t *ft, ffsb_fs_t *fs, unsigned opnum)
 {
        unsigned iterations;
-       uint64_t filesize;
+       uint32_t writesize;
 
-       iterations = ffsb_writefile_core(ft, fs, opnum, &filesize, 1);
-       ft_incr_op(ft, opnum, iterations, filesize);
-       ft_add_writebytes(ft, filesize);
+       iterations = ffsb_writefile_core(ft, fs, opnum, &writesize, 1);
+       ft_incr_op(ft, opnum, iterations, writesize);
+       ft_add_writebytes(ft, writesize);
 }