Bug fixes for 6.8-rc3:
* Clear XFS_ATTR_INCOMPLETE filter on removing xattr from a node format attribute fork. * Remove conditional compilation of realtime geometry validator functions to prevent confusing error messages from being printed on the console during the mount operation. Signed-off-by: Chandan Babu R <chandanbabu@kernel.org> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQQjMC4mbgVeU7MxEIYH7y4RirJu9AUCZbo7FAAKCRAH7y4RirJu 9Cn+APsFEbHA8YQpCSxGDM+Xelez9X7wroi6QkyOxRP6Lqq6ogD6A96uuV86TxkQ Hkse9IAKkFoLmyzohT9u7Bv46M/X4w8= =Ez8Z -----END PGP SIGNATURE----- Merge tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux Pull xfs fixes from Chandan Babu: - Clear XFS_ATTR_INCOMPLETE filter on removing xattr from a node format attribute fork - Remove conditional compilation of realtime geometry validator functions to prevent confusing error messages from being printed on the console during the mount operation * tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: xfs: remove conditional building of rt geometry validator functions xfs: reset XFS_ATTR_INCOMPLETE filter on node removal
This commit is contained in:
commit
fc86e5c990
|
@ -421,10 +421,10 @@ xfs_attr_complete_op(
|
|||
bool do_replace = args->op_flags & XFS_DA_OP_REPLACE;
|
||||
|
||||
args->op_flags &= ~XFS_DA_OP_REPLACE;
|
||||
if (do_replace) {
|
||||
args->attr_filter &= ~XFS_ATTR_INCOMPLETE;
|
||||
args->attr_filter &= ~XFS_ATTR_INCOMPLETE;
|
||||
if (do_replace)
|
||||
return replace_state;
|
||||
}
|
||||
|
||||
return XFS_DAS_DONE;
|
||||
}
|
||||
|
||||
|
|
|
@ -1118,20 +1118,6 @@ xfs_rtbitmap_blockcount(
|
|||
return howmany_64(rtextents, NBBY * mp->m_sb.sb_blocksize);
|
||||
}
|
||||
|
||||
/*
|
||||
* Compute the maximum level number of the realtime summary file, as defined by
|
||||
* mkfs. The historic use of highbit32 on a 64-bit quantity prohibited correct
|
||||
* use of rt volumes with more than 2^32 extents.
|
||||
*/
|
||||
uint8_t
|
||||
xfs_compute_rextslog(
|
||||
xfs_rtbxlen_t rtextents)
|
||||
{
|
||||
if (!rtextents)
|
||||
return 0;
|
||||
return xfs_highbit64(rtextents);
|
||||
}
|
||||
|
||||
/*
|
||||
* Compute the number of rtbitmap words needed to populate every block of a
|
||||
* bitmap that is large enough to track the given number of rt extents.
|
||||
|
|
|
@ -351,20 +351,6 @@ xfs_rtfree_extent(
|
|||
int xfs_rtfree_blocks(struct xfs_trans *tp, xfs_fsblock_t rtbno,
|
||||
xfs_filblks_t rtlen);
|
||||
|
||||
uint8_t xfs_compute_rextslog(xfs_rtbxlen_t rtextents);
|
||||
|
||||
/* Do we support an rt volume having this number of rtextents? */
|
||||
static inline bool
|
||||
xfs_validate_rtextents(
|
||||
xfs_rtbxlen_t rtextents)
|
||||
{
|
||||
/* No runt rt volumes */
|
||||
if (rtextents == 0)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
xfs_filblks_t xfs_rtbitmap_blockcount(struct xfs_mount *mp, xfs_rtbxlen_t
|
||||
rtextents);
|
||||
unsigned long long xfs_rtbitmap_wordcount(struct xfs_mount *mp,
|
||||
|
@ -383,8 +369,6 @@ unsigned long long xfs_rtsummary_wordcount(struct xfs_mount *mp,
|
|||
# define xfs_rtsummary_read_buf(a,b) (-ENOSYS)
|
||||
# define xfs_rtbuf_cache_relse(a) (0)
|
||||
# define xfs_rtalloc_extent_is_free(m,t,s,l,i) (-ENOSYS)
|
||||
# define xfs_compute_rextslog(rtx) (0)
|
||||
# define xfs_validate_rtextents(rtx) (false)
|
||||
static inline xfs_filblks_t
|
||||
xfs_rtbitmap_blockcount(struct xfs_mount *mp, xfs_rtbxlen_t rtextents)
|
||||
{
|
||||
|
|
|
@ -1377,3 +1377,17 @@ xfs_validate_stripe_geometry(
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Compute the maximum level number of the realtime summary file, as defined by
|
||||
* mkfs. The historic use of highbit32 on a 64-bit quantity prohibited correct
|
||||
* use of rt volumes with more than 2^32 extents.
|
||||
*/
|
||||
uint8_t
|
||||
xfs_compute_rextslog(
|
||||
xfs_rtbxlen_t rtextents)
|
||||
{
|
||||
if (!rtextents)
|
||||
return 0;
|
||||
return xfs_highbit64(rtextents);
|
||||
}
|
||||
|
|
|
@ -38,4 +38,6 @@ extern int xfs_sb_get_secondary(struct xfs_mount *mp,
|
|||
extern bool xfs_validate_stripe_geometry(struct xfs_mount *mp,
|
||||
__s64 sunit, __s64 swidth, int sectorsize, bool silent);
|
||||
|
||||
uint8_t xfs_compute_rextslog(xfs_rtbxlen_t rtextents);
|
||||
|
||||
#endif /* __XFS_SB_H__ */
|
||||
|
|
|
@ -251,4 +251,16 @@ bool xfs_verify_fileoff(struct xfs_mount *mp, xfs_fileoff_t off);
|
|||
bool xfs_verify_fileext(struct xfs_mount *mp, xfs_fileoff_t off,
|
||||
xfs_fileoff_t len);
|
||||
|
||||
/* Do we support an rt volume having this number of rtextents? */
|
||||
static inline bool
|
||||
xfs_validate_rtextents(
|
||||
xfs_rtbxlen_t rtextents)
|
||||
{
|
||||
/* No runt rt volumes */
|
||||
if (rtextents == 0)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif /* __XFS_TYPES_H__ */
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "xfs_inode.h"
|
||||
#include "xfs_bmap.h"
|
||||
#include "xfs_bit.h"
|
||||
#include "xfs_sb.h"
|
||||
#include "scrub/scrub.h"
|
||||
#include "scrub/common.h"
|
||||
#include "scrub/repair.h"
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include "xfs_rtbitmap.h"
|
||||
#include "xfs_bit.h"
|
||||
#include "xfs_bmap.h"
|
||||
#include "xfs_sb.h"
|
||||
#include "scrub/scrub.h"
|
||||
#include "scrub/common.h"
|
||||
#include "scrub/trace.h"
|
||||
|
|
Loading…
Reference in New Issue