Add proper per-file copyright notices/licenses and top-level license.
[bluesky.git] / nfs3 / synreadbench.c
index 1e749fa..b27d9f1 100644 (file)
@@ -3,7 +3,29 @@
  * Copyright (C) 2009  The Regents of the University of California
  * Written by Michael Vrable <mvrable@cs.ucsd.edu>
  *
- * TODO: Licensing
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  */
 
 /* Synthetic client for benchmarking: a tool for directly generating NFS
@@ -312,12 +334,13 @@ static void submit_random_read(NFSConnection *nfs)
         if (read_size > (1 << 20)) {
             scale = read_size / (1 << 20);
         }
+        int filecount = bench_files->len;
         printf("Warming up file %d\n", warmup_counter);
-        if (warmup_counter >= bench_files->len * scale)
+        if (warmup_counter >= filecount * scale)
             return;
         bf = &g_array_index(bench_files, struct bench_file,
-                            warmup_counter / scale);
-        send_read_request(nfs, bf->inum, (warmup_counter % scale) << 20,
+                            warmup_counter % filecount);
+        send_read_request(nfs, bf->inum, (warmup_counter / filecount) << 20,
                           read_size > (1 << 20) ? (1 << 20) : read_size);
         warmup_counter++;
         return;
@@ -420,7 +443,7 @@ NFSConnection *nfs_connect(const char *hostname)
     }
 
     if (connect(fd, ai->ai_addr, ai->ai_addrlen) < 0) {
-        fprintf(stderr, "Unable to connect to : %m\n");
+        fprintf(stderr, "Unable to connect to %s: %m\n", hostname);
     }
 
     freeaddrinfo(ai);