Whamcloud - gitweb
b=18016
authorgreen <green>
Sat, 10 Jan 2009 06:47:14 +0000 (06:47 +0000)
committergreen <green>
Sat, 10 Jan 2009 06:47:14 +0000 (06:47 +0000)
r=deen,wangdi

page index type in ll_read_ahead_page should be pgoff_t, not int

lustre/ChangeLog
lustre/llite/rw.c

index 7141d2c..f722a0c 100644 (file)
@@ -71,6 +71,12 @@ Descriptoin: Don't sync journal after every i/o
 Details    : Implement write RPC replay to allow server replies for write RPCs
             before data is on disk.
 
+Severity   : low
+Bugzilla   : 18016
+Description: Slow reads beyond 8Tb offsets.
+Details    : Page index integer overflow in ll_read_ahead_page
+
+
 -------------------------------------------------------------------------------
 2008-12-31 Sun Microsystems, Inc.
        * version 1.8.0
index dbd1ab5..1d042e3 100644 (file)
@@ -1377,7 +1377,7 @@ struct ll_ra_read *ll_ra_read_get(struct file *f)
 }
 
 static int ll_read_ahead_page(struct obd_export *exp, struct obd_io_group *oig,
-                              int index, struct address_space *mapping)
+                              pgoff_t index, struct address_space *mapping)
 {
         struct ll_async_page *llap;
         struct page *page;
@@ -1410,7 +1410,7 @@ static int ll_read_ahead_page(struct obd_export *exp, struct obd_io_group *oig,
                         ll_ra_stats_inc(mapping, RA_STAT_FAILED_MATCH);
                         CDEBUG(D_READA | D_PAGE,
                                "Adding page to cache failed index "
-                                "%d\n", index);
+                                "%ld\n", index);
                                 CDEBUG(D_READA, "nolock page\n");
                                 GOTO(unlock_page, rc = -ENOLCK);
                 }