Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 168362 Details for
Bug 241880
sys-kernel/gentoo-sources-2.6.27: XFS Barrier support broken
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix Barrier Fail Detection Patch
fix-barrier-fail-detection.patch (text/plain), 1.97 KB, created by
Toei Rei
on 2008-10-14 07:17:42 UTC
(
hide
)
Description:
Fix Barrier Fail Detection Patch
Filename:
MIME Type:
Creator:
Toei Rei
Created:
2008-10-14 07:17:42 UTC
Size:
1.97 KB
patch
obsolete
>Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c >=================================================================== >--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.c 2008-10-09 13:36:50.000000000 +0200 >+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.c 2008-10-09 13:38:38.000000000 +0200 >@@ -1007,6 +1007,7 @@ xfs_buf_iodone_work( > (bp->b_flags & (XBF_ORDERED|XBF_ASYNC)) == (XBF_ORDERED|XBF_ASYNC)) { > XB_TRACE(bp, "ordered_retry", bp->b_iodone); > bp->b_flags &= ~XBF_ORDERED; >+ bp->b_flags |= _XFS_BARRIER_FAILED; > xfs_buf_iorequest(bp); > } else if (bp->b_iodone) > (*(bp->b_iodone))(bp); >Index: linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h >=================================================================== >--- linux-2.6-xfs.orig/fs/xfs/linux-2.6/xfs_buf.h 2008-10-09 13:36:50.000000000 +0200 >+++ linux-2.6-xfs/fs/xfs/linux-2.6/xfs_buf.h 2008-10-09 13:38:15.000000000 +0200 >@@ -85,6 +85,14 @@ typedef enum { > * modifications being lost. > */ > _XBF_PAGE_LOCKED = (1 << 22), >+ >+ /* >+ * If we try a barrier write, but it fails we have to communicate >+ * this to the upper layers. Unfortunately b_error gets overwritten >+ * when the buffer is re-issued so we have to add another flag to >+ * keep this information. >+ */ >+ _XFS_BARRIER_FAILED = (1 << 23), > } xfs_buf_flags_t; > > typedef enum { >Index: linux-2.6-xfs/fs/xfs/xfs_log.c >=================================================================== >--- linux-2.6-xfs.orig/fs/xfs/xfs_log.c 2008-10-09 13:38:44.000000000 +0200 >+++ linux-2.6-xfs/fs/xfs/xfs_log.c 2008-10-09 13:39:32.000000000 +0200 >@@ -1037,7 +1037,8 @@ xlog_iodone(xfs_buf_t *bp) > * layer, it means the underlyin device no longer supports > * barrier I/O. Warn loudly and turn off barriers. > */ >- if ((l->l_mp->m_flags & XFS_MOUNT_BARRIER) && !XFS_BUF_ISORDERED(bp)) { >+ if (bp->b_flags & _XFS_BARRIER_FAILED) { >+ bp->b_flags &= ~_XFS_BARRIER_FAILED; > l->l_mp->m_flags &= ~XFS_MOUNT_BARRIER; > xfs_fs_cmn_err(CE_WARN, l->l_mp, > "xlog_iodone: Barriers are no longer supported" > > >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 241880
: 168362