* ext4 support for RHEL5 is experimental and thus should not be
used in production.
+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
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
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
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
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
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
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);
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;
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 */
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];