Merge remote-tracking branch 'staging/staging-next'
[deliverable/linux.git] / drivers / staging / lustre / lustre / llite / rw.c
index 87393c4bd51e2a033aec7cf9d022c57831f92ee0..bb85d161d1aafa860231a9876d73db87dbe63f4f 100644 (file)
@@ -648,10 +648,11 @@ static void ras_update_stride_detector(struct ll_readahead_state *ras,
 {
        unsigned long stride_gap = index - ras->ras_last_readpage - 1;
 
-       if (!stride_io_mode(ras) && (stride_gap != 0 ||
-           ras->ras_consecutive_stride_requests == 0)) {
+       if ((stride_gap != 0 || ras->ras_consecutive_stride_requests == 0) &&
+           !stride_io_mode(ras)) {
                ras->ras_stride_pages = ras->ras_consecutive_pages;
-               ras->ras_stride_length = stride_gap+ras->ras_consecutive_pages;
+               ras->ras_stride_length = ras->ras_consecutive_pages +
+                                        stride_gap;
        }
        LASSERT(ras->ras_request_index == 0);
        LASSERT(ras->ras_consecutive_stride_requests == 0);
@@ -663,7 +664,7 @@ static void ras_update_stride_detector(struct ll_readahead_state *ras,
        }
 
        ras->ras_stride_pages = ras->ras_consecutive_pages;
-       ras->ras_stride_length = stride_gap+ras->ras_consecutive_pages;
+       ras->ras_stride_length = stride_gap + ras->ras_consecutive_pages;
 
        RAS_CDEBUG(ras);
        return;
@@ -1015,6 +1016,10 @@ int ll_writepages(struct address_space *mapping, struct writeback_control *wbc)
                 * is called later on.
                 */
                ignore_layout = 1;
+
+       if (!ll_i2info(inode)->lli_clob)
+               return 0;
+
        result = cl_sync_file_range(inode, start, end, mode, ignore_layout);
        if (result > 0) {
                wbc->nr_to_write -= result;
This page took 0.025228 seconds and 5 git commands to generate.