From: "Darrick J. Wong" <djwong@kernel.org>
To: cem@kernel.org, djwong@kernel.org
Cc: linux-xfs@vger.kernel.org
Subject: [PATCH 3/5] xfs_repair: create refcount bag
Date: Fri, 30 Dec 2022 14:17:52 -0800 [thread overview]
Message-ID: <167243867284.712955.10005379733633399092.stgit@magnolia> (raw)
In-Reply-To: <167243867247.712955.4006304832992035940.stgit@magnolia>
From: Darrick J. Wong <djwong@kernel.org>
Create a bag structure for refcount information that uses the refcount
bag btree defined in the previous patch.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
libxfs/libxfs_api_defs.h | 5 +
repair/Makefile | 2
repair/rcbag.c | 404 ++++++++++++++++++++++++++++++++++++++++++++++
repair/rcbag.h | 33 ++++
repair/rcbag_btree.c | 59 +++++++
repair/rcbag_btree.h | 7 +
6 files changed, 510 insertions(+)
create mode 100644 repair/rcbag.c
create mode 100644 repair/rcbag.h
diff --git a/libxfs/libxfs_api_defs.h b/libxfs/libxfs_api_defs.h
index df614182b7b..aa71914af97 100644
--- a/libxfs/libxfs_api_defs.h
+++ b/libxfs/libxfs_api_defs.h
@@ -58,14 +58,19 @@
#define xfs_btree_calc_size libxfs_btree_calc_size
#define xfs_btree_decrement libxfs_btree_decrement
#define xfs_btree_del_cursor libxfs_btree_del_cursor
+#define xfs_btree_delete libxfs_btree_delete
#define xfs_btree_get_block libxfs_btree_get_block
+#define xfs_btree_get_rec libxfs_btree_get_rec
#define xfs_btree_goto_left_edge libxfs_btree_goto_left_edge
#define xfs_btree_has_more_records libxfs_btree_has_more_records
#define xfs_btree_increment libxfs_btree_increment
#define xfs_btree_init_block libxfs_btree_init_block
+#define xfs_btree_insert libxfs_btree_insert
+#define xfs_btree_lookup libxfs_btree_lookup
#define xfs_btree_mem_head_nlevels libxfs_btree_mem_head_nlevels
#define xfs_btree_mem_head_read_buf libxfs_btree_mem_head_read_buf
#define xfs_btree_rec_addr libxfs_btree_rec_addr
+#define xfs_btree_update libxfs_btree_update
#define xfs_btree_space_to_height libxfs_btree_space_to_height
#define xfs_btree_visit_blocks libxfs_btree_visit_blocks
#define xfs_buf_delwri_submit libxfs_buf_delwri_submit
diff --git a/repair/Makefile b/repair/Makefile
index 5ea8d9618e7..250c86cca2d 100644
--- a/repair/Makefile
+++ b/repair/Makefile
@@ -29,6 +29,7 @@ HFILES = \
protos.h \
quotacheck.h \
rcbag_btree.h \
+ rcbag.h \
rmap.h \
rt.h \
scan.h \
@@ -66,6 +67,7 @@ CFILES = \
progress.c \
quotacheck.c \
rcbag_btree.c \
+ rcbag.c \
rmap.c \
rt.c \
sb.c \
diff --git a/repair/rcbag.c b/repair/rcbag.c
new file mode 100644
index 00000000000..04958cba460
--- /dev/null
+++ b/repair/rcbag.c
@@ -0,0 +1,404 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2022 Oracle. All Rights Reserved.
+ * Author: Darrick J. Wong <djwong@kernel.org>
+ */
+#include "libxfs.h"
+#include "btree.h"
+#include "err_protos.h"
+#include "libxlog.h"
+#include "incore.h"
+#include "globals.h"
+#include "dinode.h"
+#include "slab.h"
+#include "libfrog/bitmap.h"
+#include "libxfs/xfile.h"
+#include "libxfs/xfbtree.h"
+#include "libxfs/xfs_btree_mem.h"
+#include "rcbag_btree.h"
+#include "rcbag.h"
+
+struct rcbag {
+ struct xfs_mount *mp;
+ struct xfbtree *xfbtree;
+ uint64_t nr_items;
+};
+
+int
+rcbag_init(
+ struct xfs_mount *mp,
+ uint64_t max_rmaps,
+ struct rcbag **bagp)
+{
+ struct xfile *xfile;
+ struct xfs_buftarg *target;
+ struct rcbag *bag;
+ unsigned long long maxbytes;
+ int error;
+
+ bag = malloc(sizeof(struct rcbag));
+ if (!bag)
+ return ENOMEM;
+
+ bag->nr_items = 0;
+ bag->mp = mp;
+
+ /* Need to save space for the head block */
+ maxbytes = (1 + rcbagbt_calc_size(max_rmaps)) * getpagesize();
+ error = -xfile_create(mp, maxbytes, "refcount bag", &xfile);
+ if (error)
+ goto out_bag;
+
+ error = -libxfs_alloc_memory_buftarg(mp, xfile, &target);
+ if (error)
+ goto out_xfile;
+
+ error = rcbagbt_mem_create(mp, target, &bag->xfbtree);
+ if (error)
+ goto out_buftarg;
+
+ *bagp = bag;
+ return 0;
+
+out_buftarg:
+ libxfs_buftarg_free(target);
+out_xfile:
+ xfile_destroy(xfile);
+out_bag:
+ free(bag);
+ return error;
+}
+
+void
+rcbag_free(
+ struct rcbag **bagp)
+{
+ struct rcbag *bag = *bagp;
+ struct xfile *xfile;
+ struct xfs_buftarg *target;
+
+ target = bag->xfbtree->target;
+ xfile = target->bt_xfile;
+
+ xfbtree_destroy(bag->xfbtree);
+ libxfs_buftarg_free(target);
+ xfile_destroy(xfile);
+
+ free(bag);
+ *bagp = NULL;
+}
+
+/* Track an rmap in the refcount bag. */
+void
+rcbag_add(
+ struct rcbag *bag,
+ const struct xfs_rmap_irec *rmap)
+{
+ struct rcbag_rec bagrec;
+ struct xfs_mount *mp = bag->mp;
+ struct xfs_trans *tp;
+ struct xfs_buf *head_bp;
+ struct xfs_btree_cur *cur;
+ int has;
+ int error;
+
+ error = -libxfs_trans_alloc_empty(mp, &tp);
+ if (error)
+ do_error(_("allocating tx for refcount bag update\n"));
+
+ error = -xfbtree_head_read_buf(bag->xfbtree, tp, &head_bp);
+ if (error)
+ do_error(_("reading refcount bag header\n"));
+
+ cur = rcbagbt_mem_cursor(mp, tp, head_bp, bag->xfbtree);
+ error = rcbagbt_lookup_eq(cur, rmap, &has);
+ if (error)
+ do_error(_("looking up refcount bag records\n"));
+
+ if (has) {
+ error = rcbagbt_get_rec(cur, &bagrec, &has);
+ if (error || !has)
+ do_error(_("reading refcount bag records\n"));
+
+ bagrec.rbg_refcount++;
+ error = rcbagbt_update(cur, &bagrec);
+ if (error)
+ do_error(_("updating refcount bag record\n"));
+ } else {
+ bagrec.rbg_startblock = rmap->rm_startblock;
+ bagrec.rbg_blockcount = rmap->rm_blockcount;
+ bagrec.rbg_ino = rmap->rm_owner;
+ bagrec.rbg_refcount = 1;
+
+ error = rcbagbt_insert(cur, &bagrec, &has);
+ if (error || !has)
+ do_error(_("adding refcount bag record, err %d\n"),
+ error);
+ }
+
+ libxfs_btree_del_cursor(cur, error);
+ libxfs_trans_brelse(tp, head_bp);
+
+ error = -xfbtree_trans_commit(bag->xfbtree, tp);
+ if (error)
+ do_error(_("committing refcount bag record\n"));
+
+ libxfs_trans_cancel(tp);
+ bag->nr_items++;
+}
+
+uint64_t
+rcbag_count(
+ const struct rcbag *rcbag)
+{
+ return rcbag->nr_items;
+}
+
+#define BAGREC_NEXT(r) ((r)->rbg_startblock + (r)->rbg_blockcount)
+
+/*
+ * Find the next block where the refcount changes, given the next rmap we
+ * looked at and the ones we're already tracking.
+ */
+void
+rcbag_next_edge(
+ struct rcbag *bag,
+ const struct xfs_rmap_irec *next_rmap,
+ bool next_valid,
+ uint32_t *next_bnop)
+{
+ struct rcbag_rec bagrec;
+ struct xfs_mount *mp = bag->mp;
+ struct xfs_buf *head_bp;
+ struct xfs_btree_cur *cur;
+ uint32_t next_bno = NULLAGBLOCK;
+ int has;
+ int error;
+
+ if (next_valid)
+ next_bno = next_rmap->rm_startblock;
+
+ error = -xfbtree_head_read_buf(bag->xfbtree, NULL, &head_bp);
+ if (error)
+ do_error(_("reading refcount bag header\n"));
+
+ cur = rcbagbt_mem_cursor(mp, NULL, head_bp, bag->xfbtree);
+ error = -libxfs_btree_goto_left_edge(cur);
+ if (error)
+ do_error(_("seeking refcount bag btree cursor\n"));
+
+ while (true) {
+ error = -libxfs_btree_increment(cur, 0, &has);
+ if (error)
+ do_error(_("incrementing refcount bag btree cursor\n"));
+ if (!has)
+ break;
+
+ error = rcbagbt_get_rec(cur, &bagrec, &has);
+ if (error)
+ do_error(_("reading refcount bag btree record\n"));
+ if (!has)
+ do_error(_("refcount bag btree record disappeared?\n"));
+
+ next_bno = min(next_bno, BAGREC_NEXT(&bagrec));
+ }
+
+ /*
+ * We should have found /something/ because either next_rrm is the next
+ * interesting rmap to look at after emitting this refcount extent, or
+ * there are other rmaps in rmap_bag contributing to the current
+ * sharing count. But if something is seriously wrong, bail out.
+ */
+ if (next_bno == NULLAGBLOCK)
+ do_error(_("next refcount bag edge not found?\n"));
+
+ *next_bnop = next_bno;
+
+ libxfs_btree_del_cursor(cur, error);
+ libxfs_trans_brelse(NULL, head_bp);
+}
+
+/* Pop all refcount bag records that end at next_bno */
+void
+rcbag_remove_ending_at(
+ struct rcbag *bag,
+ uint32_t next_bno)
+{
+ struct rcbag_rec bagrec;
+ struct xfs_mount *mp = bag->mp;
+ struct xfs_trans *tp;
+ struct xfs_buf *head_bp;
+ struct xfs_btree_cur *cur;
+ int has;
+ int error;
+
+ error = -libxfs_trans_alloc_empty(mp, &tp);
+ if (error)
+ do_error(_("allocating tx for refcount bag update\n"));
+
+ error = -xfbtree_head_read_buf(bag->xfbtree, tp, &head_bp);
+ if (error)
+ do_error(_("reading refcount bag header\n"));
+
+ /* go to the right edge of the tree */
+ cur = rcbagbt_mem_cursor(mp, tp, head_bp, bag->xfbtree);
+ memset(&cur->bc_rec, 0xFF, sizeof(cur->bc_rec));
+ error = -libxfs_btree_lookup(cur, XFS_LOOKUP_GE, &has);
+ if (error)
+ do_error(_("seeking refcount bag btree cursor\n"));
+
+ while (true) {
+ error = -libxfs_btree_decrement(cur, 0, &has);
+ if (error)
+ do_error(_("decrementing refcount bag btree cursor\n"));
+ if (!has)
+ break;
+
+ error = rcbagbt_get_rec(cur, &bagrec, &has);
+ if (error)
+ do_error(_("reading refcount bag btree record\n"));
+ if (!has)
+ do_error(_("refcount bag btree record disappeared?\n"));
+
+ if (BAGREC_NEXT(&bagrec) != next_bno)
+ continue;
+
+ error = -libxfs_btree_delete(cur, &has);
+ if (error)
+ do_error(_("deleting refcount bag btree record, err %d\n"),
+ error);
+ if (!has)
+ do_error(_("couldn't delete refcount bag record?\n"));
+
+ bag->nr_items -= bagrec.rbg_refcount;
+ }
+
+ libxfs_btree_del_cursor(cur, error);
+ libxfs_trans_brelse(tp, head_bp);
+
+ error = -xfbtree_trans_commit(bag->xfbtree, tp);
+ if (error)
+ do_error(_("committing refcount bag deletions\n"));
+
+ libxfs_trans_cancel(tp);
+}
+
+/* Prepare to iterate the shared inodes tracked by the refcount bag. */
+void
+rcbag_ino_iter_start(
+ struct rcbag *bag,
+ struct rcbag_iter *iter)
+{
+ struct xfs_mount *mp = bag->mp;
+ int error;
+
+ memset(iter, 0, sizeof(struct rcbag_iter));
+
+ if (bag->nr_items < 2)
+ return;
+
+ error = -xfbtree_head_read_buf(bag->xfbtree, NULL, &iter->head_bp);
+ if (error)
+ do_error(_("reading refcount bag header\n"));
+
+ iter->cur = rcbagbt_mem_cursor(mp, NULL, iter->head_bp, bag->xfbtree);
+ error = -libxfs_btree_goto_left_edge(iter->cur);
+ if (error)
+ do_error(_("seeking refcount bag btree cursor\n"));
+}
+
+/* Tear down an iteration. */
+void
+rcbag_ino_iter_stop(
+ struct rcbag *bag,
+ struct rcbag_iter *iter)
+{
+ if (iter->cur)
+ libxfs_btree_del_cursor(iter->cur, XFS_BTREE_NOERROR);
+ if (iter->head_bp)
+ libxfs_trans_brelse(NULL, iter->head_bp);
+ iter->cur = NULL;
+ iter->head_bp = NULL;
+}
+
+/*
+ * Walk all the shared inodes tracked by the refcount bag. Returns 1 when
+ * returning a valid iter.ino, and 0 if iteration has completed. The iter
+ * should be initialized to zeroes before the first call.
+ */
+int
+rcbag_ino_iter(
+ struct rcbag *bag,
+ struct rcbag_iter *iter)
+{
+ struct rcbag_rec bagrec;
+ int has;
+ int error;
+
+ if (bag->nr_items < 2)
+ return 0;
+
+ do {
+ error = -libxfs_btree_increment(iter->cur, 0, &has);
+ if (error)
+ do_error(_("incrementing refcount bag btree cursor\n"));
+ if (!has)
+ return 0;
+
+ error = rcbagbt_get_rec(iter->cur, &bagrec, &has);
+ if (error)
+ do_error(_("reading refcount bag btree record\n"));
+ if (!has)
+ do_error(_("refcount bag btree record disappeared?\n"));
+ } while (iter->ino == bagrec.rbg_ino);
+
+ iter->ino = bagrec.rbg_ino;
+ return 1;
+}
+
+/* Dump the rcbag. */
+void
+rcbag_dump(
+ struct rcbag *bag)
+{
+ struct rcbag_rec bagrec;
+ struct xfs_mount *mp = bag->mp;
+ struct xfs_buf *head_bp;
+ struct xfs_btree_cur *cur;
+ unsigned long long nr = 0;
+ int has;
+ int error;
+
+ error = -xfbtree_head_read_buf(bag->xfbtree, NULL, &head_bp);
+ if (error)
+ do_error(_("reading refcount bag header\n"));
+
+ cur = rcbagbt_mem_cursor(mp, NULL, head_bp, bag->xfbtree);
+ error = -libxfs_btree_goto_left_edge(cur);
+ if (error)
+ do_error(_("seeking refcount bag btree cursor\n"));
+
+ while (true) {
+ error = -libxfs_btree_increment(cur, 0, &has);
+ if (error)
+ do_error(_("incrementing refcount bag btree cursor\n"));
+ if (!has)
+ break;
+
+ error = rcbagbt_get_rec(cur, &bagrec, &has);
+ if (error)
+ do_error(_("reading refcount bag btree record\n"));
+ if (!has)
+ do_error(_("refcount bag btree record disappeared?\n"));
+
+ printf("[%llu]: bno 0x%x fsbcount 0x%x ino 0x%llx refcount 0x%llx\n",
+ nr++,
+ (unsigned int)bagrec.rbg_startblock,
+ (unsigned int)bagrec.rbg_blockcount,
+ (unsigned long long)bagrec.rbg_ino,
+ (unsigned long long)bagrec.rbg_refcount);
+ }
+
+ libxfs_btree_del_cursor(cur, error);
+ libxfs_trans_brelse(NULL, head_bp);
+}
diff --git a/repair/rcbag.h b/repair/rcbag.h
new file mode 100644
index 00000000000..04f9b5b403e
--- /dev/null
+++ b/repair/rcbag.h
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2022 Oracle. All Rights Reserved.
+ * Author: Darrick J. Wong <djwong@kernel.org>
+ */
+#ifndef __RCBAG_H__
+#define __RCBAG_H__
+
+struct xfs_mount;
+struct rcbag;
+
+int rcbag_init(struct xfs_mount *mp, uint64_t max_rmaps, struct rcbag **bagp);
+void rcbag_free(struct rcbag **bagp);
+void rcbag_add(struct rcbag *bag, const struct xfs_rmap_irec *rmap);
+uint64_t rcbag_count(const struct rcbag *bag);
+
+void rcbag_next_edge(struct rcbag *bag, const struct xfs_rmap_irec *next_rmap,
+ bool next_valid, uint32_t *next_bnop);
+void rcbag_remove_ending_at(struct rcbag *bag, uint32_t next_bno);
+
+struct rcbag_iter {
+ struct xfs_buf *head_bp;
+ struct xfs_btree_cur *cur;
+ uint64_t ino;
+};
+
+void rcbag_ino_iter_start(struct rcbag *bag, struct rcbag_iter *iter);
+void rcbag_ino_iter_stop(struct rcbag *bag, struct rcbag_iter *iter);
+int rcbag_ino_iter(struct rcbag *bag, struct rcbag_iter *iter);
+
+void rcbag_dump(struct rcbag *bag);
+
+#endif /* __RCBAG_H__ */
diff --git a/repair/rcbag_btree.c b/repair/rcbag_btree.c
index c86189806c8..13676463f7c 100644
--- a/repair/rcbag_btree.c
+++ b/repair/rcbag_btree.c
@@ -333,3 +333,62 @@ rcbagbt_destroy_cur_cache(void)
kmem_cache_destroy(rcbagbt_cur_cache);
rcbagbt_cur_cache = NULL;
}
+
+/* Look up the refcount bag record corresponding to this reverse mapping. */
+int
+rcbagbt_lookup_eq(
+ struct xfs_btree_cur *cur,
+ const struct xfs_rmap_irec *rmap,
+ int *success)
+{
+ struct rcbag_rec *rec = (struct rcbag_rec *)&cur->bc_rec;
+
+ rec->rbg_startblock = rmap->rm_startblock;
+ rec->rbg_blockcount = rmap->rm_blockcount;
+ rec->rbg_ino = rmap->rm_owner;
+
+ return -libxfs_btree_lookup(cur, XFS_LOOKUP_EQ, success);
+}
+
+/* Get the data from the pointed-to record. */
+int
+rcbagbt_get_rec(
+ struct xfs_btree_cur *cur,
+ struct rcbag_rec *rec,
+ int *has)
+{
+ union xfs_btree_rec *btrec;
+ int error;
+
+ error = -libxfs_btree_get_rec(cur, &btrec, has);
+ if (error || !(*has))
+ return error;
+
+ memcpy(rec, btrec, sizeof(struct rcbag_rec));
+ return 0;
+}
+
+/* Update the record referred to by cur to the value given. */
+int
+rcbagbt_update(
+ struct xfs_btree_cur *cur,
+ const struct rcbag_rec *rec)
+{
+ union xfs_btree_rec btrec;
+
+ memcpy(&btrec, rec, sizeof(struct rcbag_rec));
+ return -libxfs_btree_update(cur, &btrec);
+}
+
+/* Update the record referred to by cur to the value given. */
+int
+rcbagbt_insert(
+ struct xfs_btree_cur *cur,
+ const struct rcbag_rec *rec,
+ int *success)
+{
+ struct rcbag_rec *btrec = (struct rcbag_rec *)&cur->bc_rec;
+
+ memcpy(btrec, rec, sizeof(struct rcbag_rec));
+ return -libxfs_btree_insert(cur, success);
+}
diff --git a/repair/rcbag_btree.h b/repair/rcbag_btree.h
index 21329153baf..fcbc4171369 100644
--- a/repair/rcbag_btree.h
+++ b/repair/rcbag_btree.h
@@ -68,4 +68,11 @@ struct xfs_btree_cur *rcbagbt_mem_cursor(struct xfs_mount *mp,
int rcbagbt_mem_create(struct xfs_mount *mp, struct xfs_buftarg *target,
struct xfbtree **xfbtreep);
+int rcbagbt_lookup_eq(struct xfs_btree_cur *cur,
+ const struct xfs_rmap_irec *rmap, int *success);
+int rcbagbt_get_rec(struct xfs_btree_cur *cur, struct rcbag_rec *rec, int *has);
+int rcbagbt_update(struct xfs_btree_cur *cur, const struct rcbag_rec *rec);
+int rcbagbt_insert(struct xfs_btree_cur *cur, const struct rcbag_rec *rec,
+ int *success);
+
#endif /* __RCBAG_BTREE_H__ */
next prev parent reply other threads:[~2022-12-31 0:17 UTC|newest]
Thread overview: 469+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-30 21:14 [NYE DELUGE 2/4] xfs: online repair in its entirety Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/9] xfs: fix online repair block reaping Darrick J. Wong
2022-12-30 22:12 ` [PATCH 7/9] xfs: ignore stale buffers when scanning the buffer cache Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/9] xfs: only invalidate blocks if we're going to free them Darrick J. Wong
2022-12-30 22:12 ` [PATCH 6/9] xfs: rearrange xrep_reap_block to make future code flow easier Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/9] xfs: cull repair code that will never get used Darrick J. Wong
2022-12-30 22:12 ` [PATCH 5/9] xfs: use deferred frees to reap old btree blocks Darrick J. Wong
2022-12-30 22:12 ` [PATCH 8/9] xfs: reap large AG metadata extents when possible Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/9] xfs: only allow reaping of per-AG blocks in xrep_reap_extents Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/9] xfs: move the post-repair block reaping code to a separate file Darrick J. Wong
2022-12-30 22:12 ` [PATCH 9/9] xfs: use per-AG bitmaps to reap unused AG metadata blocks during repair Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/6] xfs: prepare repair for bulk loading Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/6] xfs: implement block reservation accounting for btrees we're staging Darrick J. Wong
2022-12-30 22:12 ` [PATCH 6/6] xfs: constrain dirty buffers while formatting a staged btree Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/6] xfs: add debug knobs to control btree bulk load slack factors Darrick J. Wong
2022-12-30 22:12 ` [PATCH 5/6] xfs: move btree bulkload record initialization to ->get_record implementations Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/6] xfs: log EFIs for all btree blocks being used to stage a btree Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/6] xfs: force all buffers to be written during btree bulk load Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/7] xfs: stage repair information in pageable memory Darrick J. Wong
2022-12-30 22:12 ` [PATCH 6/7] xfs: cache pages used for xfarray quicksort convergence Darrick J. Wong
2022-12-30 22:12 ` [PATCH 7/7] xfs: improve xfarray quicksort pivot Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/7] xfs: enable sorting of xfile-backed arrays Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/7] xfs: create a big array data structure Darrick J. Wong
2022-12-30 22:12 ` [PATCH 5/7] xfs: speed up xfarray sort by sorting xfile page contents directly Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/7] xfs: convert xfarray insertion sort to heapsort using scratchpad memory Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/7] xfs: teach xfile to pass back direct-map pages to caller Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/4] xfs: online scrubbing of realtime summary files Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/4] xfs: get our own reference to inodes that we want to scrub Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/4] xfs: implement online scrubbing of rtsummary info Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/4] xfs: move the realtime summary file scrubber to a separate source file Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/4] xfs: wrap ilock/iunlock operations on sc->ip Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/2] xfs: miscellaneous repair tweaks Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/2] xfs: always rescan allegedly healthy per-ag metadata after repair Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/2] xfs: allow the user to cancel repairs before we start writing Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/2] xfs: force rebuilding of metadata Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/2] xfs: don't complain about unfixed metadata when repairs were injected Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/2] xfs: allow userspace to rebuild metadata structures Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/5] xfs: online repair of AG btrees Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/5] xfs: clear pagf_agflreset when repairing the AGFL Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/5] xfs: repair free space btrees Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/5] xfs: rewrite xfs_icache_inode_is_allocated Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/5] xfs: repair inode btrees Darrick J. Wong
2022-12-30 22:12 ` [PATCH 5/5] xfs: repair refcount btrees Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/6] xfs: online repair of inodes and forks Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/6] xfs: disable online repair quota helpers when quota not enabled Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/6] xfs: zap broken inode forks Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/6] xfs: try to attach dquots to files before repairing them Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/6] xfs: repair inode records Darrick J. Wong
2022-12-30 22:12 ` [PATCH 6/6] xfs: repair obviously broken inode modes Darrick J. Wong
2022-12-30 22:12 ` [PATCH 5/6] xfs: abort directory parent scrub scans if we encounter a zapped directory Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/5] xfs: online repair of file fork mappings Darrick J. Wong
2022-12-30 22:12 ` [PATCH 2/5] xfs: repair inode fork block mapping data structures Darrick J. Wong
2022-12-30 22:12 ` [PATCH 4/5] xfs: create a ranged query function for refcount btrees Darrick J. Wong
2022-12-30 22:12 ` [PATCH 3/5] xfs: refactor repair forcing tests into a repair.c helper Darrick J. Wong
2022-12-30 22:12 ` [PATCH 1/5] xfs: reintroduce reaping of file metadata blocks to xrep_reap_extents Darrick J. Wong
2022-12-30 22:12 ` [PATCH 5/5] xfs: repair problems in CoW forks Darrick J. Wong
2022-12-30 22:12 ` [PATCHSET v24.0 0/4] xfs: online repair of quota and rt metadata files Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/4] xfs: create a new inode fork block unmap helper Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/4] xfs: online repair of realtime bitmaps Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/4] xfs: repair the inode core and forks of a metadata inode Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/4] xfs: repair quotas Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/4] xfs: live inode scans for online fsck Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/4] xfs: allow scrub to hook metadata updates in other writers Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/4] xfs: allow blocking notifier chains with filesystem hooks Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/4] xfs: implement live inode scan for scrub Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/4] xfs: speed up xfs_iwalk_adjust_start a little bit Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/5] xfs: online repair of quota counters Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/5] xfs: implement live quotacheck inode scan Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/5] xfs: report the health of quota counts Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/5] xfs: track quota updates during live quotacheck Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/5] xfs: repair cannot update the summary counters when logging quota flags Darrick J. Wong
2022-12-30 22:13 ` [PATCH 5/5] xfs: repair dquots based on live quotacheck results Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/5] xfs: online repair of file link counts Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/5] xfs: report health of inode " Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/5] xfs: streamline the directory iteration code for scrub Darrick J. Wong
2022-12-30 22:13 ` [PATCH 5/5] xfs: teach repair to fix file nlinks Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/5] xfs: teach scrub to check " Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/5] xfs: track file link count updates during live nlinks fsck Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 00/11] xfs: report corruption to the health trackers Darrick J. Wong
2022-12-30 22:13 ` [PATCH 02/11] xfs: report fs corruption errors to the health tracking system Darrick J. Wong
2022-12-30 22:13 ` [PATCH 01/11] xfs: separate the marking of sick and checked metadata Darrick J. Wong
2022-12-30 22:13 ` [PATCH 06/11] xfs: report dir/attr block corruption errors to the health system Darrick J. Wong
2022-12-30 22:13 ` [PATCH 03/11] xfs: report ag header corruption errors to the health tracking system Darrick J. Wong
2022-12-30 22:13 ` [PATCH 08/11] xfs: report inode corruption errors to the health system Darrick J. Wong
2022-12-30 22:13 ` [PATCH 05/11] xfs: report btree block " Darrick J. Wong
2022-12-30 22:13 ` [PATCH 09/11] xfs: report quota " Darrick J. Wong
2022-12-30 22:13 ` [PATCH 07/11] xfs: report symlink " Darrick J. Wong
2022-12-30 22:13 ` [PATCH 04/11] xfs: report block map corruption errors to the health tracking system Darrick J. Wong
2022-12-30 22:13 ` [PATCH 11/11] xfs: report XFS_IS_CORRUPT errors to the health system Darrick J. Wong
2022-12-30 22:13 ` [PATCH 10/11] xfs: report realtime metadata corruption " Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/3] xfs: indirect health reporting Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/3] xfs: remember sick inodes that get inactivated Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/3] xfs: update health status if we get a clean bill of health Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/3] xfs: add secondary and indirect classes to the health tracking system Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/3] xfs: online repair for fs summary counters Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/3] xfs: stabilize fs summary counters for online fsck Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/3] xfs: repair summary counters Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/3] xfs: remove XCHK_REAPING_DISABLED from scrub Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/7] xfs: support in-memory btrees Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/7] xfs: dump xfiles for debugging purposes Darrick J. Wong
2022-12-30 22:13 ` [PATCH 5/7] xfs: consolidate btree block allocation tracepoints Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/7] xfs: support in-memory buffer cache targets Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/7] xfs: consolidate btree block freeing tracepoints Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/7] xfs: teach buftargs to maintain their own buffer hashtable Darrick J. Wong
2022-12-30 22:13 ` [PATCH 6/7] xfs: support in-memory btrees Darrick J. Wong
2022-12-30 22:13 ` [PATCH 7/7] xfs: connect in-memory btrees to xfiles Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/4] xfs: online repair of rmap btrees Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/4] xfs: create a shadow rmap btree during rmap repair Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/4] xfs: create a helper to decide if a file mapping targets the rt volume Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/4] xfs: hook live rmap operations during a repair operation Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/4] xfs: repair the rmapbt Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/9] xfs: move btree geometry to ops struct Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/9] xfs: set the btree cursor bc_ops in xfs_btree_alloc_cursor Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/9] xfs: encode the default bc_flags in the btree ops structure Darrick J. Wong
2022-12-30 22:13 ` [PATCH 5/9] xfs: rename btree block/buffer init functions Darrick J. Wong
2022-12-30 22:13 ` [PATCH 7/9] xfs: remove the unnecessary daddr paramter to _init_block Darrick J. Wong
2022-12-30 22:13 ` [PATCH 6/9] xfs: btree convert xfs_btree_init_block to xfs_btree_init_buf calls Darrick J. Wong
2022-12-30 22:13 ` [PATCH 8/9] xfs: set btree block buffer ops in _init_buf Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/9] xfs: export some of the btree ops structures Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/9] xfs: initialize btree blocks using btree_ops structure Darrick J. Wong
2022-12-30 22:13 ` [PATCH 9/9] xfs: remove unnecessary fields in xfbtree_config Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/3] xfs: reduce refcount repair memory usage Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/3] xfs: define an in-memory btree for storing refcount bag info during repairs Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/3] xfs: create refcount bag structure for btree repairs Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/3] xfs: port refcount repair to the new refcount bag structure Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/3] xfs: bmap log intent cleanups Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/3] xfs: remove xfs_trans_set_bmap_flags Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/3] xfs: split tracepoint classes for deferred items Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/3] xfs: clean up bmap log intent item tracepoint callsites Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/4] xfs: widen BUI formats to support realtime Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/4] xfs: fix xfs_bunmapi to allow unmapping of partial rt extents Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/4] xfs: hoist freeing of rt data fork extent mappings Darrick J. Wong
2022-12-30 22:13 ` [PATCH 4/4] xfs: support recovering bmap intent items targetting realtime extents Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/4] xfs: add a realtime flag to the bmap update log redo items Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/2] xfs: support attrfork and unwritten BUIs Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/2] xfs: xfs_bmap_finish_one should map unwritten extents properly Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/2] xfs: support deferred bmap updates on the attr fork Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 0/3] xfs: clean up symbolic link code Darrick J. Wong
2022-12-30 22:13 ` [PATCH 2/3] xfs: move remote symlink target read function to libxfs Darrick J. Wong
2022-12-30 22:13 ` [PATCH 1/3] xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h Darrick J. Wong
2022-12-30 22:13 ` [PATCH 3/3] xfs: move symlink target write function to libxfs Darrick J. Wong
2022-12-30 22:13 ` [PATCHSET v24.0 00/21] xfs: atomic file updates Darrick J. Wong
2022-12-30 22:13 ` [PATCH 05/21] xfs: create a log incompat flag for atomic extent swapping Darrick J. Wong
2022-12-30 22:13 ` [PATCH 02/21] xfs: create a new helper to return a file's allocation unit Darrick J. Wong
2022-12-30 22:13 ` [PATCH 04/21] xfs: parameterize all the incompat log feature helpers Darrick J. Wong
2022-12-30 22:13 ` [PATCH 01/21] vfs: introduce new file range exchange ioctl Darrick J. Wong
2022-12-30 22:13 ` [PATCH 03/21] xfs: refactor non-power-of-two alignment checks Darrick J. Wong
2022-12-30 22:13 ` [PATCH 06/21] xfs: introduce a swap-extent log intent item Darrick J. Wong
2022-12-30 22:13 ` [PATCH 09/21] xfs: add a ->xchg_file_range handler Darrick J. Wong
2022-12-30 22:13 ` [PATCH 07/21] xfs: create deferred log items for extent swapping Darrick J. Wong
2022-12-30 22:13 ` [PATCH 10/21] xfs: add error injection to test swapext recovery Darrick J. Wong
2022-12-30 22:13 ` [PATCH 08/21] xfs: enable xlog users to toggle atomic extent swapping Darrick J. Wong
2022-12-30 22:13 ` [PATCH 11/21] xfs: port xfs_swap_extents_rmap to our new code Darrick J. Wong
2022-12-30 22:13 ` [PATCH 12/21] xfs: consolidate all of the xfs_swap_extent_forks code Darrick J. Wong
2022-12-30 22:13 ` [PATCH 14/21] xfs: allow xfs_swap_range to use older extent swap algorithms Darrick J. Wong
2022-12-30 22:13 ` [PATCH 16/21] xfs: condense extended attributes after an atomic swap Darrick J. Wong
2022-12-30 22:13 ` [PATCH 15/21] xfs: remove old swap extents implementation Darrick J. Wong
2022-12-30 22:13 ` [PATCH 13/21] xfs: port xfs_swap_extent_forks to use xfs_swapext_req Darrick J. Wong
2022-12-30 22:13 ` [PATCH 17/21] xfs: condense directories after an atomic swap Darrick J. Wong
2022-12-30 22:13 ` [PATCH 18/21] xfs: condense symbolic links " Darrick J. Wong
2022-12-30 22:13 ` [PATCH 20/21] xfs: support non-power-of-two rtextsize with exchange-range Darrick J. Wong
2022-12-30 22:13 ` [PATCH 21/21] xfs: enable atomic swapext feature Darrick J. Wong
2022-12-30 22:13 ` [PATCH 19/21] xfs: make atomic extent swapping support realtime files Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/4] xfs: create temporary files for online repair Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/4] xfs: hide private inodes from bulkstat and handle functions Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/4] xfs: create temporary files and directories for online repair Darrick J. Wong
2022-12-30 22:14 ` [PATCH 4/4] xfs: add the ability to reap entire inode forks Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/4] xfs: refactor stale buffer scanning for repairs Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/3] xfs: online repair of realtime summaries Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/3] xfs: support preallocating and copying content into temporary files Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/3] xfs: online repair of realtime summaries Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/3] xfs: teach the tempfile to support atomic extent swapping Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/9] xfs: set and validate dir/attr block owners Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/9] xfs: add an explicit owner field to xfs_da_args Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/9] xfs: validate attr leaf buffer owners Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/9] xfs: use the xfs_da_args owner field to set new dir/attr block owner Darrick J. Wong
2022-12-30 22:14 ` [PATCH 4/9] xfs: validate attr remote value buffer owners Darrick J. Wong
2022-12-30 22:14 ` [PATCH 7/9] xfs: validate explicit directory data " Darrick J. Wong
2022-12-30 22:14 ` [PATCH 6/9] xfs: validate directory leaf " Darrick J. Wong
2022-12-30 22:14 ` [PATCH 9/9] xfs: validate explicit directory free block owners Darrick J. Wong
2022-12-30 22:14 ` [PATCH 5/9] xfs: validate dabtree node buffer owners Darrick J. Wong
2022-12-30 22:14 ` [PATCH 8/9] xfs: validate explicit directory block " Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/5] xfs: online repair of extended attributes Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/5] xfs: create a blob array data structure Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/5] xfs: use atomic extent swapping to fix user file fork data Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/5] xfs: repair extended attributes Darrick J. Wong
2022-12-30 22:14 ` [PATCH 5/5] xfs: flag empty xattr leaf blocks for optimization Darrick J. Wong
2022-12-30 22:14 ` [PATCH 4/5] xfs: scrub should set preen if attr leaf has holes Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/3] xfs: online repair of directories Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/3] " Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/3] xfs: online repair of parent pointers Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/3] xfs: ask the dentry cache if it knows the parent of a directory Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/3] xfs: move orphan files to lost and found Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/3] xfs: move orphan files to the orphanage Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/3] xfs: ensure dentry consistency when the orphanage adopts a file Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/3] xfs: move files to orphanage instead of letting nlinks drop to zero Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/1] xfs: online repair of symbolic links Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/1] " Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/1] xfs: online repair of parent pointers Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/1] xfs: create an xattr iteration function for scrub Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/4] xfs: online fsck of iunlink buckets Darrick J. Wong
2022-12-30 22:14 ` [PATCH 4/4] xfs: repair AGI unlinked inode bucket lists Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/4] xfs: hoist AGI repair context to a heap object Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/4] xfs: use i_prev_unlinked to distinguish inodes that are not on the unlinked list Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/4] xfs: check AGI unlinked inode buckets Darrick J. Wong
2022-12-30 22:14 ` [PATCHSET v24.0 0/3] xfs: cache xfile pages for better performance Darrick J. Wong
2022-12-30 22:14 ` [PATCH 2/3] xfs: use b_offset to support direct-mapping pages when blocksize < pagesize Darrick J. Wong
2022-12-30 22:14 ` [PATCH 1/3] xfs: map xfile pages directly into xfs_buf Darrick J. Wong
2022-12-30 22:14 ` [PATCH 3/3] xfile: implement write caching Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/5] libxfs: prepare repair for bulk loading Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/5] xfs: force all buffers to be written during btree bulk load Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/5] xfs: constrain dirty buffers while formatting a staged btree Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/5] xfs: move btree bulkload record initialization to ->get_record implementations Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/5] xfs: implement block reservation accounting for btrees we're staging Darrick J. Wong
2022-12-30 22:17 ` [PATCH 5/5] xfs_repair: bulk load records into new btree blocks Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/3] libxfs: force rebuilding of metadata Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/3] xfs: allow userspace to rebuild metadata structures Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/3] xfs_scrub: try to use XFS_SCRUB_IFLAG_FORCE_REBUILD Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/3] xfs_io: support passing the FORCE_REBUILD flag to online repair Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/4] xfs_scrub: scan metadata files in parallel Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/4] libfrog: promote XFROG_SCRUB_DESCR_SUMMARY to a scrub type Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/4] libfrog: rename the scrub "fs" group Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/4] libfrog: rename XFROG_SCRUB_TYPE_* to XFROG_SCRUB_GROUP_* Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/4] xfs_scrub: scan metadata files in parallel Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/3] libxfs: online repair of quota counters Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/3] xfs: implement live quotacheck inode scan Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/3] xfs: report the health of quota counts Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/3] libfrog: create a new scrub group for things requiring full inode scans Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/2] xfs_repair: rebuild inode fork mappings Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/2] xfs_repair: rebuild block mappings from rmapbt data Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/2] xfs_repair: push inode buf and dinode pointers all the way to inode fork processing Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/3] libxfs: online repair of file link counts Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/3] xfs_scrub: use multiple threads to run in-kernel metadata scrubs that scan inodes Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/3] xfs: report inode link count health Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/3] xfs: teach scrub to check file nlinks Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/4] libxfs: indirect health reporting Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/4] xfs: update health status if we get a clean bill of health Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/4] xfs: remember sick inodes that get inactivated Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/4] xfs: add secondary and indirect classes to the health tracking system Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/4] xfs_scrub: upload clean bills of health Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/9] libxfs: support in-memory btrees Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/9] libxfs: add xfile support Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/9] libxfs: teach buftargs to maintain their own buffer hashtable Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/9] libxfs: clean up xfs_da_unmount usage Darrick J. Wong
2022-12-30 22:17 ` [PATCH 6/9] xfs: consolidate btree block allocation tracepoints Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/9] libxfs: support in-memory buffer cache targets Darrick J. Wong
2022-12-30 22:17 ` [PATCH 9/9] xfbtree: let the buffer cache flush dirty buffers to the xfile Darrick J. Wong
2022-12-30 22:17 ` [PATCH 8/9] xfs: connect in-memory btrees to xfiles Darrick J. Wong
2022-12-30 22:17 ` [PATCH 7/9] xfs: support in-memory btrees Darrick J. Wong
2022-12-30 22:17 ` [PATCH 5/9] xfs: consolidate btree block freeing tracepoints Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/5] libxfs: online repair of rmap btrees Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/5] xfs: create a helper to decide if a file mapping targets the rt volume Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/5] xfs: repair the rmapbt Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/5] xfs: create a shadow rmap btree during rmap repair Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/5] xfs: hook live rmap operations during a repair operation Darrick J. Wong
2022-12-30 22:17 ` [PATCH 5/5] mkfs: enable reverse mapping by default Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/6] xfs_repair: use in-memory rmap btrees Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/6] xfs_repair: convert regular rmap repair to use in-memory btrees Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/6] xfs_repair: compute refcount data from in-memory rmap btrees Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/6] xfs_repair: verify on-disk rmap btrees with in-memory btree data Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/6] libxfs: partition memfd files to avoid using too many fds Darrick J. Wong
2022-12-30 22:17 ` [PATCH 5/6] xfs_repair: reduce rmap bag memory usage when creating refcounts Darrick J. Wong
2022-12-30 22:17 ` [PATCH 6/6] xfs_repair: remove the old rmap collection slabs Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/5] xfs_repair: reduce refcount repair memory usage Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/5] xfs: define an in-memory btree for storing refcount bag info Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/5] xfs_repair: port to the new refcount bag structure Darrick J. Wong
2022-12-30 22:17 ` Darrick J. Wong [this message]
2022-12-30 22:17 ` [PATCH 2/5] xfs_repair: define an in-memory btree for storing refcount bag info Darrick J. Wong
2022-12-30 22:17 ` [PATCH 5/5] xfs_repair: remove the old bag implementation Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 0/4] libxfs: clean up symbolic link code Darrick J. Wong
2022-12-30 22:17 ` [PATCH 4/4] mkfs: use libxfs to create symlinks Darrick J. Wong
2022-12-30 22:17 ` [PATCH 2/4] xfs: move remote symlink target read function to libxfs Darrick J. Wong
2022-12-30 22:17 ` [PATCH 3/4] xfs: move symlink target write " Darrick J. Wong
2022-12-30 22:17 ` [PATCH 1/4] xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h Darrick J. Wong
2022-12-30 22:17 ` [PATCHSET v24.0 00/19] libxfs: atomic file updates Darrick J. Wong
2022-12-30 22:17 ` [PATCH 03/19] xfs: create a log incompat flag for atomic extent swapping Darrick J. Wong
2022-12-30 22:17 ` [PATCH 02/19] xfs: parameterize all the incompat log feature helpers Darrick J. Wong
2022-12-30 22:17 ` [PATCH 04/19] xfs: introduce a swap-extent log intent item Darrick J. Wong
2022-12-30 22:17 ` [PATCH 01/19] vfs: introduce new file range exchange ioctl Darrick J. Wong
2022-12-30 22:18 ` [PATCH 07/19] xfs: condense extended attributes after an atomic swap Darrick J. Wong
2022-12-30 22:18 ` [PATCH 05/19] xfs: create deferred log items for extent swapping Darrick J. Wong
2022-12-30 22:18 ` [PATCH 06/19] xfs: add error injection to test swapext recovery Darrick J. Wong
2022-12-30 22:18 ` [PATCH 08/19] xfs: condense directories after an atomic swap Darrick J. Wong
2022-12-30 22:18 ` [PATCH 11/19] xfs: enable atomic swapext feature Darrick J. Wong
2022-12-30 22:18 ` [PATCH 12/19] libhandle: add support for bulkstat v5 Darrick J. Wong
2022-12-30 22:18 ` [PATCH 09/19] xfs: condense symbolic links after an atomic swap Darrick J. Wong
2022-12-30 22:18 ` [PATCH 10/19] xfs: make atomic extent swapping support realtime files Darrick J. Wong
2022-12-30 22:18 ` [PATCH 18/19] xfs_io: enhance swapext to take advantage of new api Darrick J. Wong
2022-12-30 22:18 ` [PATCH 13/19] libfrog: convert xfs_io swapext command to use new libfrog wrapper Darrick J. Wong
2022-12-30 22:18 ` [PATCH 14/19] xfs_logprint: support dumping swapext log items Darrick J. Wong
2022-12-30 22:18 ` [PATCH 17/19] xfs_fsr: skip the xattr/forkoff levering with the newer swapext implementations Darrick J. Wong
2022-12-30 22:18 ` [PATCH 19/19] xfs_io: add atomic update commands to exercise extent swapping Darrick J. Wong
2022-12-30 22:18 ` [PATCH 16/19] xfs_fsr: port to new swapext library function Darrick J. Wong
2022-12-30 22:18 ` [PATCH 15/19] xfs_fsr: convert to bulkstat v5 ioctls Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/1] xfs: online fsck of iunlink buckets Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/1] xfs_db: dump unlinked buckets Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/1] xfs: cache xfile pages for better performance Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/1] xfs: map xfile pages directly into xfs_buf Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/6] xfs_scrub: fixes to the repair code Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/6] xfs_scrub: don't report media errors for space with unknowable owner Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/6] xfs_scrub: require primary superblock repairs to complete before proceeding Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/6] xfs_scrub: log when a repair was unnecessary Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/6] xfs_scrub: remove ALP_* flags namespace Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/6] xfs_scrub: move repair functions to repair.c Darrick J. Wong
2022-12-30 22:18 ` [PATCH 6/6] xfs_scrub: actually try to fix summary counters ahead of repairs Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/6] xfs_scrub: improve warnings about difficult repairs Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/6] xfs_scrub: collapse trivial superblock scrub helpers Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/6] xfs_scrub: get rid of trivial fs metadata scanner helpers Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/6] xfs_scrub: any inconsistency in metadata should trigger difficulty warnings Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/6] xfs_scrub: add missing repair types to the mustfix and difficulty assessment Darrick J. Wong
2022-12-30 22:18 ` [PATCH 6/6] xfs_scrub: warn about difficult repairs to rt and quota metadata Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/6] xfs_scrub: split up the mustfix repairs and difficulty assessment functions Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/9] xfs_scrub: track data dependencies for repairs Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/9] xfs_scrub: remove scrub_metadata_file Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/9] xfs_scrub: track repair items by principal, not by individual repairs Darrick J. Wong
2022-12-30 22:18 ` [PATCH 6/9] xfs_scrub: clean up repair_item_difficulty a little Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/9] xfs_scrub: use repair_item to direct repair activities Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/9] xfs_scrub: remove action lists from phaseX code Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/9] xfs_scrub: boost the repair priority of dependencies of damaged items Darrick J. Wong
2022-12-30 22:18 ` [PATCH 7/9] xfs_scrub: check dependencies of a scrub type before repairing Darrick J. Wong
2022-12-30 22:18 ` [PATCH 9/9] xfs_scrub: remove unused action_list fields Darrick J. Wong
2022-12-30 22:18 ` [PATCH 8/9] xfs_scrub: retry incomplete repairs Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/5] xfs_scrub: use scrub_item to track check progress Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/5] xfs_scrub: remove enum check_outcome Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/5] xfs_scrub: start tracking scrub state in scrub_item Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/5] xfs_scrub: refactor scrub_meta_type out of existence Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/5] xfs_scrub: hoist repair retry loop to repair_item_class Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/5] xfs_scrub: hoist scrub retry loop to scrub_item_check_file Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/4] xfs_scrub: improve scheduling of repair items Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/4] xfs_scrub: try to repair space metadata before file metadata Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/4] xfs_scrub: recheck entire metadata objects after corruption repairs Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/4] libfrog: enhance ptvar to support initializer functions Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/4] xfs_scrub: improve thread scheduling repair items during phase 4 Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/7] xfs_scrub: move fstrim to a separate phase Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/7] xfs_scrub: move FITRIM to phase 8 Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/7] xfs_scrub: ignore phase 8 if the user disabled fstrim Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/7] xfs_scrub: collapse trim_filesystem Darrick J. Wong
2022-12-30 22:18 ` [PATCH 6/7] xfs_scrub: don't call FITRIM after runtime errors Darrick J. Wong
2022-12-30 22:18 ` [PATCH 7/7] xfs_scrub: fstrim each AG in parallel Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/7] xfs_scrub: fix the work estimation for phase 8 Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/7] xfs_scrub: report FITRIM errors properly Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/8] xfs_scrub: fixes for systemd services Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/8] xfs_scrub_fail: fix sendmail detection Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/8] debian: install scrub services with dh_installsystemd Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/8] xfs_scrub_fail: return the failure status of the mailer program Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/8] xfs_scrub: add missing copyrights and spdx headers Darrick J. Wong
2022-12-30 22:18 ` [PATCH 6/8] xfs_scrub_all: fix argument passing when invoking xfs_scrub manually Darrick J. Wong
2022-12-30 22:18 ` [PATCH 7/8] xfs_scrub_all: escape service names consistently Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/8] xfs_scrub_fail: escape paths correctly Darrick J. Wong
2022-12-30 22:18 ` [PATCH 8/8] xfs_scrub_all: survive systemd restarts when waiting for services Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/5] xfs_scrub: tighten security of systemd services Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/5] xfs_scrub.service: reduce CPU usage to 60% when possible Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/5] xfs_scrub: allow auxiliary pathnames for sandboxing Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/5] xfs_scrub: tighten up the security on the background systemd service Darrick J. Wong
2022-12-30 22:18 ` [PATCH 5/5] xfs_scrub_all: " Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/5] xfs_scrub_fail: " Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/4] xfs_scrub_all: automatic media scan service Darrick J. Wong
2022-12-30 22:18 ` [PATCH 3/4] xfs_scrub_all: trigger automatic media scans once per month Darrick J. Wong
2022-12-30 22:18 ` [PATCH 4/4] xfs_scrub_all: failure reporting for the xfs_scrub_all job Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/4] xfs_scrub_all: enable periodic file data scrubs automatically Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/4] xfs_scrub_all: support metadata+media scans of all filesystems Darrick J. Wong
2022-12-30 22:18 ` [PATCHSET v24.0 0/2] xfs_scrub: automatic optimization by default Darrick J. Wong
2022-12-30 22:18 ` [PATCH 1/2] xfs_scrub: automatic downgrades to dry-run mode in service mode Darrick J. Wong
2022-12-30 22:18 ` [PATCH 2/2] xfs_scrub: add an optimization-only mode Darrick J. Wong
2022-12-30 22:19 ` [PATCHSET v24.0 0/5] fstests: race online scrub with fsstress Darrick J. Wong
2022-12-30 22:19 ` [PATCH 5/5] xfs: race fsstress with online scrubbers for file metadata Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/5] xfs: race fsstress with online scrubbers for AG and fs metadata Darrick J. Wong
2023-02-05 13:04 ` Zorro Lang
2023-02-07 16:58 ` Darrick J. Wong
2023-02-07 17:02 ` [PATCH v24.1 " Darrick J. Wong
2023-02-07 18:45 ` Zorro Lang
2022-12-30 22:19 ` [PATCH 4/5] fuzzy: allow xfs scrub stress tests to pick preconfigured fsstress configs Darrick J. Wong
2023-02-07 18:48 ` Zorro Lang
2022-12-30 22:19 ` [PATCH 3/5] fuzzy: add a custom xfs find utility for scrub stress tests Darrick J. Wong
2023-02-05 12:57 ` Zorro Lang
2023-02-07 16:57 ` Darrick J. Wong
2023-02-07 17:01 ` [PATCH v24.1 " Darrick J. Wong
2023-02-07 18:42 ` Zorro Lang
2022-12-30 22:19 ` [PATCH 1/5] xfs/357: switch fuzzing to agi 1 Darrick J. Wong
2023-02-07 18:46 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] xfs: force rebuilding of metadata Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] fuzzy: use FORCE_REBUILD over injecting force_repair Darrick J. Wong
2023-02-14 8:00 ` Zorro Lang
2023-02-14 18:18 ` Darrick J. Wong
2023-02-16 14:57 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/2] fstests: online repair of AG btrees Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/2] xfs: stress test ag repair functions Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/2] xfs: test rebuilding the entire filesystem with online fsck Darrick J. Wong
2023-02-18 6:06 ` [PATCHSET v24.0 0/2] fstests: online repair of AG btrees Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of inodes Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs: race fsstress with online repair for inode record metadata Darrick J. Wong
2023-02-18 6:07 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/4] fstests: online repair of file fork mappings Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/4] xfs: test rebuilding xattrs when the data fork is btree format Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/4] xfs: race fsstress with online repair for inode and fork metadata Darrick J. Wong
2022-12-30 22:19 ` [PATCH 3/4] xfs: ensure that online file data fork repairs don't hit EDQUOT Darrick J. Wong
2022-12-30 22:19 ` [PATCH 4/4] xfs: race fsstress with online repair for special file metadata Darrick J. Wong
2023-02-18 6:07 ` [PATCHSET v24.0 0/4] fstests: online repair of file fork mappings Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of quota and counters Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs: race fsstress with online scrub and repair for quota metadata Darrick J. Wong
2023-02-18 6:10 ` Zorro Lang
2023-02-18 6:12 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of quota counters Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs: race fsstress with online scrub and repair for quotacheck Darrick J. Wong
2023-02-18 6:12 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of file link counts Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs: race fsstress with inode link count check and repair Darrick J. Wong
2023-02-18 6:13 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/2] fstests: online repair for fs summary counters Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/2] xfs: test fs summary counter online repair Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/2] xfs: race fsstress with online repair for summary counters Darrick J. Wong
2023-02-18 6:14 ` [PATCHSET v24.0 0/2] fstests: online repair for fs " Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of rmap btrees Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs/422: don't freeze while racing rmap repair and fsstress Darrick J. Wong
2023-02-18 6:15 ` Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 0/2] fstests: fix a few bugs in fs population Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/2] populate: take a snapshot of the filesystem if creation fails Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/2] populate: fix some weirdness in __populate_check_xfs_agbtree_height Darrick J. Wong
2023-02-18 6:16 ` [PATCHSET v24.0 0/2] fstests: fix a few bugs in fs population Zorro Lang
2022-12-30 22:19 ` [PATCHSET v24.0 00/24] fstests: improve xfs fuzzing Darrick J. Wong
2022-12-30 22:19 ` [PATCH 02/24] fuzzy: disable timstamp fuzzing by default Darrick J. Wong
2022-12-30 22:19 ` [PATCH 06/24] fuzzy: don't fuzz user-controllable inode flags Darrick J. Wong
2022-12-30 22:19 ` [PATCH 04/24] fuzzy: don't fuzz obsolete inode fields Darrick J. Wong
2022-12-30 22:19 ` [PATCH 01/24] fuzzy: disable per-field random fuzzing by default Darrick J. Wong
2022-12-30 22:19 ` [PATCH 07/24] fuzzy: don't fuzz xattr namespace flags and values Darrick J. Wong
2022-12-30 22:19 ` [PATCH 05/24] fuzzy: don't fuzz inode generation numbers Darrick J. Wong
2022-12-30 22:19 ` [PATCH 03/24] fuzzy: don't fuzz the log sequence number Darrick J. Wong
2022-12-30 22:19 ` [PATCH 14/24] common/fuzzy: fix some problems with the online-then-offline repair strategy Darrick J. Wong
2022-12-30 22:19 ` [PATCH 11/24] common/fuzzy: fix some problems with the online " Darrick J. Wong
2022-12-30 22:19 ` [PATCH 10/24] common/fuzzy: hoist the post-repair fs modification step Darrick J. Wong
2022-12-30 22:19 ` [PATCH 09/24] common/fuzzy: add an underline to the full log between sections Darrick J. Wong
2022-12-30 22:19 ` [PATCH 08/24] common/fuzzy: split out each repair strategy into a separate helper Darrick J. Wong
2022-12-30 22:19 ` [PATCH 13/24] common/fuzzy: fix some problems with the no-repair strategy Darrick J. Wong
2022-12-30 22:19 ` [PATCH 12/24] common/fuzzy: fix some problems with the offline repair strategy Darrick J. Wong
2022-12-30 22:19 ` [PATCH 22/24] fuzzy: report the fuzzing repair strategy in seqres.full Darrick J. Wong
2022-12-30 22:19 ` [PATCH 18/24] common: check xfs health after doing an online scrub Darrick J. Wong
2022-12-30 22:19 ` [PATCH 20/24] fuzzy: dump metadata state before fuzzing Darrick J. Wong
2022-12-30 22:19 ` [PATCH 16/24] xfs/{35[45],455}: fix bogus corruption errors Darrick J. Wong
2022-12-30 22:19 ` [PATCH 19/24] common/fuzzy: exercise the filesystem a little harder after repairing Darrick J. Wong
2022-12-30 22:19 ` [PATCH 15/24] common/fuzzy: fix some problems with the post-repair fs modification code Darrick J. Wong
2022-12-30 22:19 ` [PATCH 21/24] fuzzy: compress coredumps created while fuzzing Darrick J. Wong
2022-12-30 22:19 ` [PATCH 17/24] common/fuzzy: evaluate xfs_check vs xfs_repair Darrick J. Wong
2022-12-30 22:19 ` [PATCH 24/24] fuzzy: for fuzzing ag btrees, find the path to the AG header Darrick J. Wong
2022-12-30 22:19 ` [PATCH 23/24] xfs: improve metadata array field handling when fuzzing Darrick J. Wong
2022-12-30 22:19 ` [PATCHSET v24.0 0/5] fstests: strengthen fuzz testing Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/5] fuzzy: test fuzzing directory block mappings Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/5] fuzzy: test fuzzing xattr " Darrick J. Wong
2022-12-30 22:19 ` [PATCH 4/5] xfs: fuzz test both repair strategies Darrick J. Wong
2022-12-30 22:19 ` [PATCH 3/5] fuzzy: test fuzzing realtime free space metadata Darrick J. Wong
2022-12-30 22:19 ` [PATCH 5/5] fuzzy: fuzz test key/pointers of inode btrees Darrick J. Wong
2022-12-30 22:19 ` [PATCHSET v24.0 0/7] fstests: atomic file updates Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/7] xfs/122: fix for swapext log items Darrick J. Wong
2022-12-30 22:19 ` [PATCH 5/7] generic: test that file privilege gets dropped with FIEXCHANGE_RANGE Darrick J. Wong
2022-12-30 22:19 ` [PATCH 4/7] generic, xfs: test scatter-gather atomic file updates Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/7] generic: test old xfs extent swapping ioctl Darrick J. Wong
2022-12-30 22:19 ` [PATCH 3/7] generic: test new vfs swapext ioctl Darrick J. Wong
2022-12-30 22:19 ` [PATCH 6/7] fsx: support FIEXCHANGE_RANGE Darrick J. Wong
2023-02-28 1:55 ` Zorro Lang
2023-03-01 2:56 ` Darrick J. Wong
2022-12-30 22:19 ` [PATCH 7/7] fsstress: update for FIEXCHANGE_RANGE Darrick J. Wong
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of realtime summaries Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs: race fsstress with online repair of realtime summary files Darrick J. Wong
2022-12-30 22:19 ` [PATCHSET v24.0 0/1] fstests: online repair of extended attributes Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/1] xfs: race fsstress with online repair of extended attribute data Darrick J. Wong
2022-12-30 22:19 ` [PATCHSET v24.0 0/2] fstests: online repair of directories Darrick J. Wong
2022-12-30 22:19 ` [PATCH 1/2] xfs: ensure that online directory repairs don't hit EDQUOT Darrick J. Wong
2022-12-30 22:19 ` [PATCH 2/2] xfs: race fsstress with online repair of dirs and parent pointers Darrick J. Wong
2022-12-30 22:20 ` [PATCHSET v24.0 0/1] fstests: test automatic scrub optimization by default Darrick J. Wong
2022-12-30 22:20 ` [PATCH 1/1] xfs: test xfs_scrub dry run, preen, and repair mode Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=167243867284.712955.10005379733633399092.stgit@magnolia \
--to=djwong@kernel.org \
--cc=cem@kernel.org \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox