mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
xfs: require XFS_SB_FEAT_INCOMPAT_LOG_XATTRS for attr log intent item recovery
[ Upstream commit 8ef1d96a985e4dc07ffbd71bd7fc5604a80cc644 ]
The XFS_SB_FEAT_INCOMPAT_LOG_XATTRS feature bit protects a filesystem
from old kernels that do not know how to recover extended attribute log
intent items. Make this check mandatory instead of a debugging assert.
Fixes: fd92000878 ("xfs: Set up infrastructure for log attribute replay")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2edfd2c87c
commit
3a97d267fd
@@ -510,6 +510,9 @@ xfs_attri_validate(
|
|||||||
unsigned int op = attrp->alfi_op_flags &
|
unsigned int op = attrp->alfi_op_flags &
|
||||||
XFS_ATTRI_OP_FLAGS_TYPE_MASK;
|
XFS_ATTRI_OP_FLAGS_TYPE_MASK;
|
||||||
|
|
||||||
|
if (!xfs_sb_version_haslogxattrs(&mp->m_sb))
|
||||||
|
return false;
|
||||||
|
|
||||||
if (attrp->__pad != 0)
|
if (attrp->__pad != 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -601,8 +604,6 @@ xfs_attri_item_recover(
|
|||||||
args->op_flags = XFS_DA_OP_RECOVERY | XFS_DA_OP_OKNOENT |
|
args->op_flags = XFS_DA_OP_RECOVERY | XFS_DA_OP_OKNOENT |
|
||||||
XFS_DA_OP_LOGGED;
|
XFS_DA_OP_LOGGED;
|
||||||
|
|
||||||
ASSERT(xfs_sb_version_haslogxattrs(&mp->m_sb));
|
|
||||||
|
|
||||||
switch (attr->xattri_op_flags) {
|
switch (attr->xattri_op_flags) {
|
||||||
case XFS_ATTRI_OP_FLAGS_SET:
|
case XFS_ATTRI_OP_FLAGS_SET:
|
||||||
case XFS_ATTRI_OP_FLAGS_REPLACE:
|
case XFS_ATTRI_OP_FLAGS_REPLACE:
|
||||||
|
|||||||
Reference in New Issue
Block a user