Commit fc86e5c9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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
parents 3a0e9220 881f78f4
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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;
	if (do_replace)
		return replace_state;
	}

	return XFS_DAS_DONE;
}

+0 −14
Original line number Diff line number Diff line
@@ -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.
+0 −16
Original line number Diff line number Diff line
@@ -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)
{
+14 −0
Original line number Diff line number Diff line
@@ -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);
}
+2 −0
Original line number Diff line number Diff line
@@ -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__ */
Loading