Whamcloud - gitweb
Branch b1_8
authorbobijam <bobijam>
Fri, 11 Sep 2009 01:25:42 +0000 (01:25 +0000)
committerbobijam <bobijam>
Fri, 11 Sep 2009 01:25:42 +0000 (01:25 +0000)
b=20560
i=johann
i=alexander.zarochentsev

Description: File checksum failures with OST read cache on
Details    : Clear page cache's uptodate bit when its contents are cleared.

lustre/ChangeLog
lustre/ptlrpc/pers.c

index e940f88..f5c8fd8 100644 (file)
@@ -14,6 +14,11 @@ tbd Sun Microsystems, Inc.
          of Lustre filesystem with 4K stack may cause a stack overflow. For
          more information, please refer to bugzilla 17630.
 
+Severity   : major
+Bugzilla   : 20560
+Description: File checksum failures with OST read cache on
+Details    : Clear page cache's uptodate bit when its contents are cleared.
+
 Severity   : normal
 Bugzilla   : 20533
 Description: Changes in raid5-large-io-rhel5.patch to calculate sectors properly
@@ -65,19 +70,19 @@ Details    : ldiskfs_truncate calls grab_cache_page which may start page
             allocation under an open transaction. This may lead to
             calling prune_icache with consequent lustre reentrance.
 
-Severity   : enhancement 
+Severity   : enhancement
 Bugzilla   : 20200
 Description: Enhancement for lfs(1) command to use numeric uid/gid.
 
-Severity   : normal 
+Severity   : normal
 Bugzilla   : 18674
 Description: Do not start bulk transfer, if client tried to reconnect.
 Details    : Do not start bulk transfer, if client tried to reconnect,
             but failed due to active rpcs. Check for exp_abort_active_req
             has been implemented.
 
-Severity   : normal 
-Bugzilla   : 20321 
+Severity   : normal
+Bugzilla   : 20321
 Description: Deadlock between filter_destroy() and filter_commitrw_write().
 Details    : filter_destroy() does not hold the DLM lock over the whole
             operation. If the DLM lock is dropped, filter_commitrw() can go
@@ -99,7 +104,7 @@ Description: Vanilla kernel 2.6.30 patchless support.
 Severity   : normal
 Bugzilla   : 20122
 Frequency  : rare
-Description: don't panic if EPROTO was hit when reading symlink 
+Description: don't panic if EPROTO was hit when reading symlink
 Details    : correctly handling request reference in error cases.
 
 Severity   : normal
@@ -206,7 +211,7 @@ Details    : In filter_commitrw_write():
             3. lquota_pending_commit();
             "2." has changed uid and gid in this case, then caused
             lquota_chkquota() and lquota_pending_commit() to use
-            different uid and gid. That is the root of the bug. 
+            different uid and gid. That is the root of the bug.
 
 ------------------------------------------------------------------------------
 2009-07-31 Sun Microsystems, Inc.
@@ -240,7 +245,7 @@ Details    : 1.8 mds is allocate to big buffer to LOV EA data and this produce
 Severity   : normal
 Bugzilla   : 19917
 Description: Repeated atomic allocation failures.
-Details    : Use GFP_HIGHUSER | __GFP_NOMEMALLOC flags for memory allocations 
+Details    : Use GFP_HIGHUSER | __GFP_NOMEMALLOC flags for memory allocations
             to generate memory pressure and allow reclaiming of inactive pages.
             At the same time, do not allow to exhaust emergency pools.
             For local clients the use of GFP_NOFS will be introduced in 1.8.2
@@ -2734,7 +2739,7 @@ Bugzilla   : 13129
 Description: server LBUG when shutting down
 Details    : Block umount forever until the mount refcount is zero rather
             than giving up after an arbitrary timeout.
-       
+
 Severity   : enhancement
 Bugzilla   : 12194
 Description: add optional extra BUILD_VERSION info
@@ -3163,7 +3168,7 @@ Details    : quota slave depends qctxt->lqc_import to send its quota request.
             This pointer will be invalid if mds did failover or broke its
             connect to osts, which leads to LBUG.
 
-Severity   : normal    
+Severity   : normal
 Frequency  : when qunit size is too small(less than 20M)
 Bugzilla   : 12588
 Description: write is stopped by improper -EDQUOT
@@ -3257,7 +3262,7 @@ Details    : If a client tried to create a new file before the MDT had
             connected to any OSTs, the create would return EIO.  Now
             the client will simply block until the MDT connects to the
             first OST and the create can succeed.
-       
+
 Severity   : normal
 Frequency  : only for SLES9
 Bugzilla   : 12543
@@ -3312,7 +3317,7 @@ Frequency  : rare
 Description: Sometimes precreate code can triger create object on wrong ost
 Details    : Wrong protected or not not restored variables aftre precreate loop
             can produce creation object on wrong ost.
-       
+
 Severity   : normal
 Frequency  : oss recovery
 Bugzilla   : 10800
index d53d42c..a297995 100644 (file)
@@ -76,9 +76,10 @@ void ptlrpc_add_bulk_page(struct ptlrpc_bulk_desc *desc, cfs_page_t *page,
 void ptl_rpc_wipe_bulk_pages(struct ptlrpc_bulk_desc *desc)
 {
         int i;
-        
+
         for (i = 0; i < desc->bd_iov_count ; i++) {
                 lnet_kiov_t *kiov = &desc->bd_iov[i];
+                ClearPageUptodate(kiov->kiov_page);
                 memset(cfs_kmap(kiov->kiov_page)+kiov->kiov_offset, 0xab,
                        kiov->kiov_len);
                 cfs_kunmap(kiov->kiov_page);
@@ -95,7 +96,7 @@ void ptlrpc_fill_bulk_md(lnet_md_t *md, struct ptlrpc_bulk_desc *desc)
                 md->length = desc->bd_iov[0].iov_len;
                 return;
         }
-        
+
         md->options |= LNET_MD_IOVEC;
         md->start = &desc->bd_iov[0];
         md->length = desc->bd_iov_count;
@@ -103,7 +104,7 @@ void ptlrpc_fill_bulk_md(lnet_md_t *md, struct ptlrpc_bulk_desc *desc)
 
 static int can_merge_iovs(lnet_md_iovec_t *existing, lnet_md_iovec_t *candidate)
 {
-        if (existing->iov_base + existing->iov_len == candidate->iov_base) 
+        if (existing->iov_base + existing->iov_len == candidate->iov_base)
                 return 1;
 #if 0
         /* Enable this section to provide earlier evidence of fragmented bulk */
@@ -114,7 +115,7 @@ static int can_merge_iovs(lnet_md_iovec_t *existing, lnet_md_iovec_t *candidate)
         return 0;
 }
 
-void ptlrpc_add_bulk_page(struct ptlrpc_bulk_desc *desc, cfs_page_t *page, 
+void ptlrpc_add_bulk_page(struct ptlrpc_bulk_desc *desc, cfs_page_t *page,
                           int pageoffset, int len)
 {
         lnet_md_iovec_t *iov = &desc->bd_iov[desc->bd_iov_count];