* [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3)
@ 2022-07-21 21:36 Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 1/6] xfs: fix maxlevels comparisons in the btree staging code Leah Rumancik
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs; +Cc: amir73il, Leah Rumancik
Hi again,
This set contains fixes from 5.16 to 5.17. The normal testing was run
for this set with no regressions found.
Some refactoring patches were included in this set as dependencies:
bf2307b19513 xfs: fold perag loop iteration logic into helper function
dependency for f1788b5e5ee25bedf00bb4d25f82b93820d61189
f1788b5e5ee2 xfs: rename the next_agno perag iteration variable
dependency for 8ed004eb9d07a5d6114db3e97a166707c186262d
Thanks,
Leah
v1->v2:
- Dropped 3 patches of scrub fixes
- Added Ack's
v1: https://lore.kernel.org/linux-xfs/20220718202959.1611129-1-leah.rumancik@gmail.com/
Brian Foster (4):
xfs: fold perag loop iteration logic into helper function
xfs: rename the next_agno perag iteration variable
xfs: terminate perag iteration reliably on agcount
xfs: fix perag reference leak on iteration race with growfs
Dan Carpenter (1):
xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list()
Darrick J. Wong (1):
xfs: fix maxlevels comparisons in the btree staging code
fs/xfs/libxfs/xfs_ag.h | 36 ++++++++++++++++++-------------
fs/xfs/libxfs/xfs_btree_staging.c | 4 ++--
fs/xfs/xfs_ioctl.c | 2 +-
fs/xfs/xfs_ioctl.h | 5 +++--
4 files changed, 27 insertions(+), 20 deletions(-)
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 5.15 v2 1/6] xfs: fix maxlevels comparisons in the btree staging code
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
@ 2022-07-21 21:36 ` Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 2/6] xfs: fold perag loop iteration logic into helper function Leah Rumancik
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs
Cc: amir73il, Darrick J. Wong, Chandan Babu R, Christoph Hellwig,
Leah Rumancik
From: "Darrick J. Wong" <djwong@kernel.org>
[ Upstream commit 78e8ec83a404d63dcc86b251f42e4ee8aff27465 ]
The btree geometry computation function has an off-by-one error in that
it does not allow maximally tall btrees (nlevels == XFS_BTREE_MAXLEVELS).
This can result in repairs failing unnecessarily on very fragmented
filesystems. Subsequent patches to remove MAXLEVELS usage in favor of
the per-btree type computations will make this a much more likely
occurrence.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Chandan Babu R <chandan.babu@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
fs/xfs/libxfs/xfs_btree_staging.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/xfs/libxfs/xfs_btree_staging.c b/fs/xfs/libxfs/xfs_btree_staging.c
index ac9e80152b5c..89c8a1498df1 100644
--- a/fs/xfs/libxfs/xfs_btree_staging.c
+++ b/fs/xfs/libxfs/xfs_btree_staging.c
@@ -662,7 +662,7 @@ xfs_btree_bload_compute_geometry(
xfs_btree_bload_ensure_slack(cur, &bbl->node_slack, 1);
bbl->nr_records = nr_this_level = nr_records;
- for (cur->bc_nlevels = 1; cur->bc_nlevels < XFS_BTREE_MAXLEVELS;) {
+ for (cur->bc_nlevels = 1; cur->bc_nlevels <= XFS_BTREE_MAXLEVELS;) {
uint64_t level_blocks;
uint64_t dontcare64;
unsigned int level = cur->bc_nlevels - 1;
@@ -724,7 +724,7 @@ xfs_btree_bload_compute_geometry(
nr_this_level = level_blocks;
}
- if (cur->bc_nlevels == XFS_BTREE_MAXLEVELS)
+ if (cur->bc_nlevels > XFS_BTREE_MAXLEVELS)
return -EOVERFLOW;
bbl->btree_height = cur->bc_nlevels;
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5.15 v2 2/6] xfs: fold perag loop iteration logic into helper function
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 1/6] xfs: fix maxlevels comparisons in the btree staging code Leah Rumancik
@ 2022-07-21 21:36 ` Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 3/6] xfs: rename the next_agno perag iteration variable Leah Rumancik
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs
Cc: amir73il, Brian Foster, Dave Chinner, Darrick J . Wong,
Leah Rumancik
From: Brian Foster <bfoster@redhat.com>
[ Upstream commit bf2307b195135ed9c95eebb38920d8bd41843092 ]
Fold the loop iteration logic into a helper in preparation for
further fixups. No functional change in this patch.
[backport: dependency for f1788b5e5ee25bedf00bb4d25f82b93820d61189]
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
fs/xfs/libxfs/xfs_ag.h | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/fs/xfs/libxfs/xfs_ag.h b/fs/xfs/libxfs/xfs_ag.h
index 4c6f9045baca..ddb89e10b6ea 100644
--- a/fs/xfs/libxfs/xfs_ag.h
+++ b/fs/xfs/libxfs/xfs_ag.h
@@ -124,12 +124,22 @@ void xfs_perag_put(struct xfs_perag *pag);
* for_each_perag_from() because they terminate at sb_agcount where there are
* no perag structures in tree beyond end_agno.
*/
+static inline struct xfs_perag *
+xfs_perag_next(
+ struct xfs_perag *pag,
+ xfs_agnumber_t *next_agno)
+{
+ struct xfs_mount *mp = pag->pag_mount;
+
+ *next_agno = pag->pag_agno + 1;
+ xfs_perag_put(pag);
+ return xfs_perag_get(mp, *next_agno);
+}
+
#define for_each_perag_range(mp, next_agno, end_agno, pag) \
for ((pag) = xfs_perag_get((mp), (next_agno)); \
(pag) != NULL && (next_agno) <= (end_agno); \
- (next_agno) = (pag)->pag_agno + 1, \
- xfs_perag_put(pag), \
- (pag) = xfs_perag_get((mp), (next_agno)))
+ (pag) = xfs_perag_next((pag), &(next_agno)))
#define for_each_perag_from(mp, next_agno, pag) \
for_each_perag_range((mp), (next_agno), (mp)->m_sb.sb_agcount, (pag))
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5.15 v2 3/6] xfs: rename the next_agno perag iteration variable
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 1/6] xfs: fix maxlevels comparisons in the btree staging code Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 2/6] xfs: fold perag loop iteration logic into helper function Leah Rumancik
@ 2022-07-21 21:36 ` Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 4/6] xfs: terminate perag iteration reliably on agcount Leah Rumancik
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs
Cc: amir73il, Brian Foster, Dave Chinner, Darrick J . Wong,
Leah Rumancik
From: Brian Foster <bfoster@redhat.com>
[ Upstream commit f1788b5e5ee25bedf00bb4d25f82b93820d61189 ]
Rename the next_agno variable to be consistent across the several
iteration macros and shorten line length.
[backport: dependency for 8ed004eb9d07a5d6114db3e97a166707c186262d]
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
fs/xfs/libxfs/xfs_ag.h | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/fs/xfs/libxfs/xfs_ag.h b/fs/xfs/libxfs/xfs_ag.h
index ddb89e10b6ea..134e8635dee1 100644
--- a/fs/xfs/libxfs/xfs_ag.h
+++ b/fs/xfs/libxfs/xfs_ag.h
@@ -127,22 +127,22 @@ void xfs_perag_put(struct xfs_perag *pag);
static inline struct xfs_perag *
xfs_perag_next(
struct xfs_perag *pag,
- xfs_agnumber_t *next_agno)
+ xfs_agnumber_t *agno)
{
struct xfs_mount *mp = pag->pag_mount;
- *next_agno = pag->pag_agno + 1;
+ *agno = pag->pag_agno + 1;
xfs_perag_put(pag);
- return xfs_perag_get(mp, *next_agno);
+ return xfs_perag_get(mp, *agno);
}
-#define for_each_perag_range(mp, next_agno, end_agno, pag) \
- for ((pag) = xfs_perag_get((mp), (next_agno)); \
- (pag) != NULL && (next_agno) <= (end_agno); \
- (pag) = xfs_perag_next((pag), &(next_agno)))
+#define for_each_perag_range(mp, agno, end_agno, pag) \
+ for ((pag) = xfs_perag_get((mp), (agno)); \
+ (pag) != NULL && (agno) <= (end_agno); \
+ (pag) = xfs_perag_next((pag), &(agno)))
-#define for_each_perag_from(mp, next_agno, pag) \
- for_each_perag_range((mp), (next_agno), (mp)->m_sb.sb_agcount, (pag))
+#define for_each_perag_from(mp, agno, pag) \
+ for_each_perag_range((mp), (agno), (mp)->m_sb.sb_agcount, (pag))
#define for_each_perag(mp, agno, pag) \
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5.15 v2 4/6] xfs: terminate perag iteration reliably on agcount
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
` (2 preceding siblings ...)
2022-07-21 21:36 ` [PATCH 5.15 v2 3/6] xfs: rename the next_agno perag iteration variable Leah Rumancik
@ 2022-07-21 21:36 ` Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 5/6] xfs: fix perag reference leak on iteration race with growfs Leah Rumancik
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs
Cc: amir73il, Brian Foster, Dave Chinner, Darrick J . Wong,
Leah Rumancik
From: Brian Foster <bfoster@redhat.com>
[ Upstream commit 8ed004eb9d07a5d6114db3e97a166707c186262d ]
The for_each_perag_from() iteration macro relies on sb_agcount to
process every perag currently within EOFS from a given starting
point. It's perfectly valid to have perag structures beyond
sb_agcount, however, such as if a growfs is in progress. If a perag
loop happens to race with growfs in this manner, it will actually
attempt to process the post-EOFS perag where ->pag_agno ==
sb_agcount. This is reproduced by xfs/104 and manifests as the
following assert failure in superblock write verifier context:
XFS: Assertion failed: agno < mp->m_sb.sb_agcount, file: fs/xfs/libxfs/xfs_types.c, line: 22
Update the corresponding macro to only process perags that are
within the current sb_agcount.
Fixes: 58d43a7e3263 ("xfs: pass perags around in fsmap data dev functions")
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
fs/xfs/libxfs/xfs_ag.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/xfs/libxfs/xfs_ag.h b/fs/xfs/libxfs/xfs_ag.h
index 134e8635dee1..4585ebb3f450 100644
--- a/fs/xfs/libxfs/xfs_ag.h
+++ b/fs/xfs/libxfs/xfs_ag.h
@@ -142,7 +142,7 @@ xfs_perag_next(
(pag) = xfs_perag_next((pag), &(agno)))
#define for_each_perag_from(mp, agno, pag) \
- for_each_perag_range((mp), (agno), (mp)->m_sb.sb_agcount, (pag))
+ for_each_perag_range((mp), (agno), (mp)->m_sb.sb_agcount - 1, (pag))
#define for_each_perag(mp, agno, pag) \
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5.15 v2 5/6] xfs: fix perag reference leak on iteration race with growfs
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
` (3 preceding siblings ...)
2022-07-21 21:36 ` [PATCH 5.15 v2 4/6] xfs: terminate perag iteration reliably on agcount Leah Rumancik
@ 2022-07-21 21:36 ` Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 6/6] xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() Leah Rumancik
2022-07-23 15:25 ` [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Greg KH
6 siblings, 0 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs
Cc: amir73il, Brian Foster, Dave Chinner, Darrick J . Wong,
Leah Rumancik
From: Brian Foster <bfoster@redhat.com>
[ Upstream commit 892a666fafa19ab04b5e948f6c92f98f1dafb489 ]
The for_each_perag*() set of macros are hacky in that some (i.e.
those based on sb_agcount) rely on the assumption that perag
iteration terminates naturally with a NULL perag at the specified
end_agno. Others allow for the final AG to have a valid perag and
require the calling function to clean up any potential leftover
xfs_perag reference on termination of the loop.
Aside from providing a subtly inconsistent interface, the former
variant is racy with growfs because growfs can create discoverable
post-eofs perags before the final superblock update that completes
the grow operation and increases sb_agcount. This leads to the
following assert failure (reproduced by xfs/104) in the perag free
path during unmount:
XFS: Assertion failed: atomic_read(&pag->pag_ref) == 0, file: fs/xfs/libxfs/xfs_ag.c, line: 195
This occurs because one of the many for_each_perag() loops in the
code that is expected to terminate with a NULL pag (and thus has no
post-loop xfs_perag_put() check) raced with a growfs and found a
non-NULL post-EOFS perag, but terminated naturally based on the
end_agno check without releasing the post-EOFS perag.
Rework the iteration logic to lift the agno check from the main for
loop conditional to the iteration helper function. The for loop now
purely terminates on a NULL pag and xfs_perag_next() avoids taking a
reference to any perag beyond end_agno in the first place.
Fixes: f250eedcf762 ("xfs: make for_each_perag... a first class citizen")
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
fs/xfs/libxfs/xfs_ag.h | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/fs/xfs/libxfs/xfs_ag.h b/fs/xfs/libxfs/xfs_ag.h
index 4585ebb3f450..3f597cad2c33 100644
--- a/fs/xfs/libxfs/xfs_ag.h
+++ b/fs/xfs/libxfs/xfs_ag.h
@@ -116,30 +116,26 @@ void xfs_perag_put(struct xfs_perag *pag);
/*
* Perag iteration APIs
- *
- * XXX: for_each_perag_range() usage really needs an iterator to clean up when
- * we terminate at end_agno because we may have taken a reference to the perag
- * beyond end_agno. Right now callers have to be careful to catch and clean that
- * up themselves. This is not necessary for the callers of for_each_perag() and
- * for_each_perag_from() because they terminate at sb_agcount where there are
- * no perag structures in tree beyond end_agno.
*/
static inline struct xfs_perag *
xfs_perag_next(
struct xfs_perag *pag,
- xfs_agnumber_t *agno)
+ xfs_agnumber_t *agno,
+ xfs_agnumber_t end_agno)
{
struct xfs_mount *mp = pag->pag_mount;
*agno = pag->pag_agno + 1;
xfs_perag_put(pag);
+ if (*agno > end_agno)
+ return NULL;
return xfs_perag_get(mp, *agno);
}
#define for_each_perag_range(mp, agno, end_agno, pag) \
for ((pag) = xfs_perag_get((mp), (agno)); \
- (pag) != NULL && (agno) <= (end_agno); \
- (pag) = xfs_perag_next((pag), &(agno)))
+ (pag) != NULL; \
+ (pag) = xfs_perag_next((pag), &(agno), (end_agno)))
#define for_each_perag_from(mp, agno, pag) \
for_each_perag_range((mp), (agno), (mp)->m_sb.sb_agcount - 1, (pag))
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5.15 v2 6/6] xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list()
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
` (4 preceding siblings ...)
2022-07-21 21:36 ` [PATCH 5.15 v2 5/6] xfs: fix perag reference leak on iteration race with growfs Leah Rumancik
@ 2022-07-21 21:36 ` Leah Rumancik
2022-07-23 15:25 ` [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Greg KH
6 siblings, 0 replies; 8+ messages in thread
From: Leah Rumancik @ 2022-07-21 21:36 UTC (permalink / raw)
To: stable, linux-xfs
Cc: amir73il, Dan Carpenter, Darrick J . Wong, Leah Rumancik
From: Dan Carpenter <dan.carpenter@oracle.com>
[ Upstream commit 6ed6356b07714e0198be3bc3ecccc8b40a212de4 ]
The "bufsize" comes from the root user. If "bufsize" is negative then,
because of type promotion, neither of the validation checks at the start
of the function are able to catch it:
if (bufsize < sizeof(struct xfs_attrlist) ||
bufsize > XFS_XATTR_LIST_MAX)
return -EINVAL;
This means "bufsize" will trigger (WARN_ON_ONCE(size > INT_MAX)) in
kvmalloc_node(). Fix this by changing the type from int to size_t.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Leah Rumancik <leah.rumancik@gmail.com>
Acked-by: Darrick J. Wong <djwong@kernel.org>
---
fs/xfs/xfs_ioctl.c | 2 +-
fs/xfs/xfs_ioctl.h | 5 +++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
index 09269f478df9..fba52e75e98b 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -372,7 +372,7 @@ int
xfs_ioc_attr_list(
struct xfs_inode *dp,
void __user *ubuf,
- int bufsize,
+ size_t bufsize,
int flags,
struct xfs_attrlist_cursor __user *ucursor)
{
diff --git a/fs/xfs/xfs_ioctl.h b/fs/xfs/xfs_ioctl.h
index 28453a6d4461..845d3bcab74b 100644
--- a/fs/xfs/xfs_ioctl.h
+++ b/fs/xfs/xfs_ioctl.h
@@ -38,8 +38,9 @@ xfs_readlink_by_handle(
int xfs_ioc_attrmulti_one(struct file *parfilp, struct inode *inode,
uint32_t opcode, void __user *uname, void __user *value,
uint32_t *len, uint32_t flags);
-int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf, int bufsize,
- int flags, struct xfs_attrlist_cursor __user *ucursor);
+int xfs_ioc_attr_list(struct xfs_inode *dp, void __user *ubuf,
+ size_t bufsize, int flags,
+ struct xfs_attrlist_cursor __user *ucursor);
extern struct dentry *
xfs_handle_to_dentry(
--
2.37.1.359.gd136c6c3e2-goog
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3)
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
` (5 preceding siblings ...)
2022-07-21 21:36 ` [PATCH 5.15 v2 6/6] xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() Leah Rumancik
@ 2022-07-23 15:25 ` Greg KH
6 siblings, 0 replies; 8+ messages in thread
From: Greg KH @ 2022-07-23 15:25 UTC (permalink / raw)
To: Leah Rumancik; +Cc: stable, linux-xfs, amir73il
On Thu, Jul 21, 2022 at 02:36:04PM -0700, Leah Rumancik wrote:
> Hi again,
>
> This set contains fixes from 5.16 to 5.17. The normal testing was run
> for this set with no regressions found.
>
> Some refactoring patches were included in this set as dependencies:
>
> bf2307b19513 xfs: fold perag loop iteration logic into helper function
> dependency for f1788b5e5ee25bedf00bb4d25f82b93820d61189
> f1788b5e5ee2 xfs: rename the next_agno perag iteration variable
> dependency for 8ed004eb9d07a5d6114db3e97a166707c186262d
All now queued up, thanks.
greg k-h
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-07-23 15:25 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-21 21:36 [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 1/6] xfs: fix maxlevels comparisons in the btree staging code Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 2/6] xfs: fold perag loop iteration logic into helper function Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 3/6] xfs: rename the next_agno perag iteration variable Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 4/6] xfs: terminate perag iteration reliably on agcount Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 5/6] xfs: fix perag reference leak on iteration race with growfs Leah Rumancik
2022-07-21 21:36 ` [PATCH 5.15 v2 6/6] xfs: prevent a WARN_ONCE() in xfs_ioc_attr_list() Leah Rumancik
2022-07-23 15:25 ` [PATCH 5.15 v2 0/6] xfs stable candidate patches for 5.15.y (part 3) Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).