From: "Darrick J. Wong" <djwong@kernel.org>
To: djwong@kernel.org, cem@kernel.org
Cc: catherine.hoang@oracle.com, linux-xfs@vger.kernel.org,
allison.henderson@oracle.com, hch@lst.de
Subject: [PATCH 11/12] xfs_repair: update ondisk parent pointer records
Date: Mon, 01 Jul 2024 18:20:20 -0700 [thread overview]
Message-ID: <171988122336.2010218.16979367018169015160.stgit@frogsfrogsfrogs> (raw)
In-Reply-To: <171988122147.2010218.8997075209577453030.stgit@frogsfrogsfrogs>
From: Darrick J. Wong <djwong@kernel.org>
Update the ondisk parent pointer records as necessary.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
---
libxfs/libxfs_api_defs.h | 2 +
repair/pptr.c | 88 ++++++++++++++++++++++++++++++++++++++++++++--
2 files changed, 87 insertions(+), 3 deletions(-)
diff --git a/libxfs/libxfs_api_defs.h b/libxfs/libxfs_api_defs.h
index e12f0a40b00a..df316727bd62 100644
--- a/libxfs/libxfs_api_defs.h
+++ b/libxfs/libxfs_api_defs.h
@@ -209,8 +209,10 @@
#define xfs_parent_hashval libxfs_parent_hashval
#define xfs_parent_lookup libxfs_parent_lookup
#define xfs_parent_removename libxfs_parent_removename
+#define xfs_parent_set libxfs_parent_set
#define xfs_parent_start libxfs_parent_start
#define xfs_parent_from_attr libxfs_parent_from_attr
+#define xfs_parent_unset libxfs_parent_unset
#define xfs_perag_get libxfs_perag_get
#define xfs_perag_hold libxfs_perag_hold
#define xfs_perag_put libxfs_perag_put
diff --git a/repair/pptr.c b/repair/pptr.c
index 61466009d88b..94d6d834627c 100644
--- a/repair/pptr.c
+++ b/repair/pptr.c
@@ -673,6 +673,44 @@ load_file_pptr_name(
name, file_pptr->namelen);
}
+/* Add an on disk parent pointer to a file. */
+static int
+add_file_pptr(
+ struct xfs_inode *ip,
+ const struct ag_pptr *ag_pptr,
+ const unsigned char *name)
+{
+ struct xfs_name xname = {
+ .name = name,
+ .len = ag_pptr->namelen,
+ };
+ struct xfs_parent_rec pptr_rec = { };
+ struct xfs_da_args scratch;
+
+ xfs_parent_rec_init(&pptr_rec, ag_pptr->parent_ino,
+ ag_pptr->parent_gen);
+ return -libxfs_parent_set(ip, ip->i_ino, &xname, &pptr_rec, &scratch);
+}
+
+/* Remove an on disk parent pointer from a file. */
+static int
+remove_file_pptr(
+ struct xfs_inode *ip,
+ const struct file_pptr *file_pptr,
+ const unsigned char *name)
+{
+ struct xfs_name xname = {
+ .name = name,
+ .len = file_pptr->namelen,
+ };
+ struct xfs_parent_rec pptr_rec = { };
+ struct xfs_da_args scratch;
+
+ xfs_parent_rec_init(&pptr_rec, file_pptr->parent_ino,
+ file_pptr->parent_gen);
+ return -libxfs_parent_unset(ip, ip->i_ino, &xname, &pptr_rec, &scratch);
+}
+
/* Remove all pptrs from @ip. */
static void
clear_all_pptrs(
@@ -729,7 +767,16 @@ add_missing_parent_ptr(
name);
}
- /* XXX actually do the work */
+ error = add_file_pptr(ip, ag_pptr, name);
+ if (error)
+ do_error(
+ _("adding ino %llu pptr (ino %llu gen 0x%x name '%.*s') failed: %s\n"),
+ (unsigned long long)ip->i_ino,
+ (unsigned long long)ag_pptr->parent_ino,
+ ag_pptr->parent_gen,
+ ag_pptr->namelen,
+ name,
+ strerror(error));
}
/* Remove @file_pptr from @ip. */
@@ -771,7 +818,16 @@ remove_incorrect_parent_ptr(
file_pptr->namelen,
name);
- /* XXX actually do the work */
+ error = remove_file_pptr(ip, file_pptr, name);
+ if (error)
+ do_error(
+ _("removing ino %llu pptr (ino %llu gen 0x%x name '%.*s') failed: %s\n"),
+ (unsigned long long)ip->i_ino,
+ (unsigned long long)file_pptr->parent_ino,
+ file_pptr->parent_gen,
+ file_pptr->namelen,
+ name,
+ strerror(error));
}
/*
@@ -851,7 +907,33 @@ compare_parent_ptrs(
ag_pptr->namelen,
name1);
- /* XXX do the work */
+ /* Remove the parent pointer that we don't want. */
+ error = remove_file_pptr(ip, file_pptr, name2);
+ if (error)
+ do_error(
+_("erasing ino %llu pptr (ino %llu gen 0x%x name '%.*s') failed: %s\n"),
+ (unsigned long long)ip->i_ino,
+ (unsigned long long)file_pptr->parent_ino,
+ file_pptr->parent_gen,
+ file_pptr->namelen,
+ name2,
+ strerror(error));
+
+ /*
+ * Add the parent pointer that we do want. It's possible that this
+ * parent pointer already exists but we haven't gotten that far in the
+ * scan, so we'll keep going on EEXIST.
+ */
+ error = add_file_pptr(ip, ag_pptr, name1);
+ if (error && error != EEXIST)
+ do_error(
+ _("updating ino %llu pptr (ino %llu gen 0x%x name '%.*s') failed: %s\n"),
+ (unsigned long long)ip->i_ino,
+ (unsigned long long)ag_pptr->parent_ino,
+ ag_pptr->parent_gen,
+ ag_pptr->namelen,
+ name1,
+ strerror(error));
}
static int
next prev parent reply other threads:[~2024-07-02 1:20 UTC|newest]
Thread overview: 296+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 0:43 [PATCHBOMB] xfsprogs: program changes (mostly xfs_scrub) for 6.10 Darrick J. Wong
2024-07-02 0:49 ` [PATCHSET v30.7 01/16] xfsprogs: atomic file updates Darrick J. Wong
2024-07-02 0:53 ` [PATCH 01/12] man: document the exchange-range ioctl Darrick J. Wong
2024-07-02 5:08 ` Christoph Hellwig
2024-07-02 0:54 ` [PATCH 02/12] man: document XFS_FSOP_GEOM_FLAGS_EXCHRANGE Darrick J. Wong
2024-07-02 5:08 ` Christoph Hellwig
2024-07-02 0:54 ` [PATCH 03/12] libhandle: add support for bulkstat v5 Darrick J. Wong
2024-07-02 5:09 ` Christoph Hellwig
2024-07-02 19:48 ` Darrick J. Wong
2024-07-02 0:54 ` [PATCH 04/12] libfrog: add support for exchange range ioctl family Darrick J. Wong
2024-07-02 5:09 ` Christoph Hellwig
2024-07-02 0:54 ` [PATCH 05/12] xfs_db: advertise exchange-range in the version command Darrick J. Wong
2024-07-02 5:10 ` Christoph Hellwig
2024-07-02 0:55 ` [PATCH 06/12] xfs_logprint: support dumping exchmaps log items Darrick J. Wong
2024-07-02 5:11 ` Christoph Hellwig
2024-07-02 19:49 ` Darrick J. Wong
2024-07-02 0:55 ` [PATCH 07/12] xfs_fsr: convert to bulkstat v5 ioctls Darrick J. Wong
2024-07-02 5:13 ` Christoph Hellwig
2024-07-02 19:51 ` Darrick J. Wong
2024-07-02 0:55 ` [PATCH 08/12] xfs_fsr: skip the xattr/forkoff levering with the newer swapext implementations Darrick J. Wong
2024-07-02 5:14 ` Christoph Hellwig
2024-07-02 0:55 ` [PATCH 09/12] xfs_io: create exchangerange command to test file range exchange ioctl Darrick J. Wong
2024-07-02 5:15 ` Christoph Hellwig
2024-07-02 19:53 ` Darrick J. Wong
2024-07-02 0:56 ` [PATCH 10/12] libfrog: advertise exchange-range support Darrick J. Wong
2024-07-02 5:15 ` Christoph Hellwig
2024-07-02 0:56 ` [PATCH 11/12] xfs_repair: add exchange-range to file systems Darrick J. Wong
2024-07-02 5:15 ` Christoph Hellwig
2024-07-02 0:56 ` [PATCH 12/12] mkfs: add a formatting option for exchange-range Darrick J. Wong
2024-07-02 5:16 ` Christoph Hellwig
2024-07-02 0:49 ` [PATCHSET v30.7 02/16] xfsprogs: inode-related repair fixes Darrick J. Wong
2024-07-02 0:56 ` [PATCH 1/3] xfs_{db,repair}: add an explicit owner field to xfs_da_args Darrick J. Wong
2024-07-02 5:16 ` Christoph Hellwig
2024-07-02 0:57 ` [PATCH 2/3] libxfs: port the bumplink function from the kernel Darrick J. Wong
2024-07-02 5:16 ` Christoph Hellwig
2024-07-02 0:57 ` [PATCH 3/3] mkfs/repair: pin inodes that would otherwise overflow link count Darrick J. Wong
2024-07-02 5:17 ` Christoph Hellwig
2024-07-02 0:50 ` [PATCHSET v30.7 03/16] xfs_scrub: detect deceptive filename extensions Darrick J. Wong
2024-07-02 0:57 ` [PATCH 01/13] xfs_scrub: use proper UChar string iterators Darrick J. Wong
2024-07-02 5:18 ` Christoph Hellwig
2024-07-02 0:57 ` [PATCH 02/13] xfs_scrub: hoist code that removes ignorable characters Darrick J. Wong
2024-07-02 5:21 ` Christoph Hellwig
2024-07-02 0:58 ` [PATCH 03/13] xfs_scrub: add a couple of omitted invisible code points Darrick J. Wong
2024-07-02 5:22 ` Christoph Hellwig
2024-07-03 1:59 ` Darrick J. Wong
2024-07-03 4:27 ` Christoph Hellwig
2024-07-03 5:02 ` Darrick J. Wong
2024-07-03 18:35 ` Darrick J. Wong
2024-07-04 7:22 ` Christoph Hellwig
2024-07-02 0:58 ` [PATCH 04/13] xfs_scrub: avoid potential UAF after freeing a duplicate name entry Darrick J. Wong
2024-07-02 5:22 ` Christoph Hellwig
2024-07-02 0:58 ` [PATCH 05/13] xfs_scrub: guard against libicu returning negative buffer lengths Darrick J. Wong
2024-07-02 5:22 ` Christoph Hellwig
2024-07-02 0:58 ` [PATCH 06/13] xfs_scrub: hoist non-rendering character predicate Darrick J. Wong
2024-07-02 5:23 ` Christoph Hellwig
2024-07-02 0:59 ` [PATCH 07/13] xfs_scrub: store bad flags with the name entry Darrick J. Wong
2024-07-02 5:23 ` Christoph Hellwig
2024-07-02 0:59 ` [PATCH 08/13] xfs_scrub: rename UNICRASH_ZERO_WIDTH to UNICRASH_INVISIBLE Darrick J. Wong
2024-07-02 5:23 ` Christoph Hellwig
2024-07-02 0:59 ` [PATCH 09/13] xfs_scrub: type-coerce the UNICRASH_* flags Darrick J. Wong
2024-07-02 5:24 ` Christoph Hellwig
2024-07-02 0:59 ` [PATCH 10/13] xfs_scrub: reduce size of struct name_entry Darrick J. Wong
2024-07-02 5:24 ` Christoph Hellwig
2024-07-02 1:00 ` [PATCH 11/13] xfs_scrub: rename struct unicrash.normalizer Darrick J. Wong
2024-07-02 5:24 ` Christoph Hellwig
2024-07-02 1:00 ` [PATCH 12/13] xfs_scrub: report deceptive file extensions Darrick J. Wong
2024-07-02 5:25 ` Christoph Hellwig
2024-07-02 1:00 ` [PATCH 13/13] xfs_scrub: dump unicode points Darrick J. Wong
2024-07-02 5:25 ` Christoph Hellwig
2024-07-02 0:50 ` [PATCHSET v30.7 04/16] xfs_scrub: move fstrim to a separate phase Darrick J. Wong
2024-07-02 1:01 ` [PATCH 1/8] xfs_scrub: move FITRIM to phase 8 Darrick J. Wong
2024-07-02 5:27 ` Christoph Hellwig
2024-07-02 1:01 ` [PATCH 2/8] xfs_scrub: ignore phase 8 if the user disabled fstrim Darrick J. Wong
2024-07-02 5:27 ` Christoph Hellwig
2024-07-02 1:01 ` [PATCH 3/8] xfs_scrub: collapse trim_filesystem Darrick J. Wong
2024-07-02 5:27 ` Christoph Hellwig
2024-07-02 1:01 ` [PATCH 4/8] xfs_scrub: fix the work estimation for phase 8 Darrick J. Wong
2024-07-02 5:27 ` Christoph Hellwig
2024-07-02 1:02 ` [PATCH 5/8] xfs_scrub: report FITRIM errors properly Darrick J. Wong
2024-07-02 5:28 ` Christoph Hellwig
2024-07-02 1:02 ` [PATCH 6/8] xfs_scrub: don't call FITRIM after runtime errors Darrick J. Wong
2024-07-02 5:28 ` Christoph Hellwig
2024-07-02 1:02 ` [PATCH 7/8] xfs_scrub: don't trim the first agbno of each AG for better performance Darrick J. Wong
2024-07-02 5:30 ` Christoph Hellwig
2024-07-03 3:45 ` Darrick J. Wong
2024-07-03 3:52 ` [PATCH v30.7.1 7/8] xfs_scrub: improve responsiveness while trimming the filesystem Darrick J. Wong
2024-07-03 4:33 ` Christoph Hellwig
2024-07-03 4:50 ` Darrick J. Wong
2024-07-02 1:02 ` [PATCH 8/8] xfs_scrub: improve progress meter for phase 8 fstrimming Darrick J. Wong
2024-07-02 0:50 ` [PATCHSET v30.7 05/16] xfs_scrub: use free space histograms to reduce fstrim runtime Darrick J. Wong
2024-07-02 1:03 ` [PATCH 1/7] libfrog: hoist free space histogram code Darrick J. Wong
2024-07-02 5:32 ` Christoph Hellwig
2024-07-03 2:47 ` Darrick J. Wong
2024-07-03 4:30 ` Christoph Hellwig
2024-07-03 4:55 ` Darrick J. Wong
2024-07-02 1:03 ` [PATCH 2/7] libfrog: print wider columns for free space histogram Darrick J. Wong
2024-07-02 5:33 ` Christoph Hellwig
2024-07-02 1:03 ` [PATCH 3/7] libfrog: print cdf of free space buckets Darrick J. Wong
2024-07-02 5:33 ` Christoph Hellwig
2024-07-02 1:03 ` [PATCH 4/7] xfs_scrub: don't close stdout when closing the progress bar Darrick J. Wong
2024-07-02 5:33 ` Christoph Hellwig
2024-07-02 1:04 ` [PATCH 5/7] xfs_scrub: remove pointless spacemap.c arguments Darrick J. Wong
2024-07-02 5:33 ` Christoph Hellwig
2024-07-02 1:04 ` [PATCH 6/7] xfs_scrub: collect free space histograms during phase 7 Darrick J. Wong
2024-07-02 5:34 ` Christoph Hellwig
2024-07-02 1:04 ` [PATCH 7/7] xfs_scrub: tune fstrim minlen parameter based on free space histograms Darrick J. Wong
2024-07-02 5:36 ` Christoph Hellwig
2024-07-03 2:29 ` Darrick J. Wong
2024-07-03 4:29 ` Christoph Hellwig
2024-07-03 4:55 ` Darrick J. Wong
2024-07-03 4:58 ` Christoph Hellwig
2024-07-03 5:04 ` Darrick J. Wong
2024-07-03 5:11 ` Christoph Hellwig
2024-07-03 5:17 ` Darrick J. Wong
2024-07-02 0:50 ` [PATCHSET v30.7 06/16] xfs_scrub: tighten security of systemd services Darrick J. Wong
2024-07-02 1:04 ` [PATCH 1/6] xfs_scrub: allow auxiliary pathnames for sandboxing Darrick J. Wong
2024-07-02 5:37 ` Christoph Hellwig
2024-07-02 1:05 ` [PATCH 2/6] xfs_scrub.service: reduce background CPU usage to less than one core if possible Darrick J. Wong
2024-07-02 1:05 ` [PATCH 3/6] xfs_scrub: use dynamic users when running as a systemd service Darrick J. Wong
2024-07-02 1:05 ` [PATCH 4/6] xfs_scrub: tighten up the security on the background " Darrick J. Wong
2024-07-02 1:06 ` [PATCH 5/6] xfs_scrub_fail: " Darrick J. Wong
2024-07-02 5:37 ` Christoph Hellwig
2024-07-02 1:06 ` [PATCH 6/6] xfs_scrub_all: " Darrick J. Wong
2024-07-02 5:37 ` Christoph Hellwig
2024-07-02 0:51 ` [PATCHSET v30.7 07/16] xfs_scrub_all: automatic media scan service Darrick J. Wong
2024-07-02 1:06 ` [PATCH 1/6] xfs_scrub_all: only use the xfs_scrub@ systemd services in service mode Darrick J. Wong
2024-07-02 5:38 ` Christoph Hellwig
2024-07-02 1:06 ` [PATCH 2/6] xfs_scrub_all: remove journalctl background process Darrick J. Wong
2024-07-02 5:38 ` Christoph Hellwig
2024-07-02 1:07 ` [PATCH 3/6] xfs_scrub_all: support metadata+media scans of all filesystems Darrick J. Wong
2024-07-02 5:39 ` Christoph Hellwig
2024-07-02 1:07 ` [PATCH 4/6] xfs_scrub_all: enable periodic file data scrubs automatically Darrick J. Wong
2024-07-02 5:39 ` Christoph Hellwig
2024-07-02 1:07 ` [PATCH 5/6] xfs_scrub_all: trigger automatic media scans once per month Darrick J. Wong
2024-07-02 5:39 ` Christoph Hellwig
2024-07-02 1:07 ` [PATCH 6/6] xfs_scrub_all: failure reporting for the xfs_scrub_all job Darrick J. Wong
2024-07-02 5:39 ` Christoph Hellwig
2024-07-02 0:51 ` [PATCHSET v30.7 08/16] xfs_scrub_all: improve systemd handling Darrick J. Wong
2024-07-02 1:08 ` [PATCH 1/5] xfs_scrub_all: encapsulate all the subprocess code in an object Darrick J. Wong
2024-07-02 5:40 ` Christoph Hellwig
2024-07-02 1:08 ` [PATCH 2/5] xfs_scrub_all: encapsulate all the systemctl " Darrick J. Wong
2024-07-02 5:41 ` Christoph Hellwig
2024-07-02 1:08 ` [PATCH 3/5] xfs_scrub_all: add CLI option for easier debugging Darrick J. Wong
2024-07-02 5:42 ` Christoph Hellwig
2024-07-02 1:08 ` [PATCH 4/5] xfs_scrub_all: convert systemctl calls to dbus Darrick J. Wong
2024-07-02 5:42 ` Christoph Hellwig
2024-07-02 1:09 ` [PATCH 5/5] xfs_scrub_all: implement retry and backoff for dbus calls Darrick J. Wong
2024-07-02 5:42 ` Christoph Hellwig
2024-07-02 0:51 ` [PATCHSET v30.7 09/16] xfs_scrub: automatic optimization by default Darrick J. Wong
2024-07-02 1:09 ` [PATCH 1/3] xfs_scrub: automatic downgrades to dry-run mode in service mode Darrick J. Wong
2024-07-02 5:43 ` Christoph Hellwig
2024-07-02 1:09 ` [PATCH 2/3] xfs_scrub: add an optimization-only mode Darrick J. Wong
2024-07-02 5:43 ` Christoph Hellwig
2024-07-02 1:09 ` [PATCH 3/3] debian: enable xfs_scrub_all systemd timer services by default Darrick J. Wong
2024-07-02 5:44 ` Christoph Hellwig
2024-07-03 2:59 ` Darrick J. Wong
2024-07-03 4:31 ` Christoph Hellwig
2024-07-03 5:01 ` Darrick J. Wong
2024-07-09 22:53 ` Darrick J. Wong
2024-07-10 6:18 ` Christoph Hellwig
2024-07-16 16:46 ` Darrick J. Wong
2024-07-17 4:59 ` Christoph Hellwig
2024-07-17 16:15 ` Darrick J. Wong
2024-07-17 16:45 ` Christoph Hellwig
2024-07-22 4:12 ` Darrick J. Wong
2024-07-22 12:34 ` Christoph Hellwig
2024-07-23 23:29 ` Darrick J. Wong
2024-07-24 13:18 ` Christoph Hellwig
2024-07-16 16:47 ` [RFC PATCH 1/2] misc: shift install targets Darrick J. Wong
2024-07-16 16:49 ` [RFC PATCH 2/2] debian: create a new package for automatic self-healing Darrick J. Wong
2024-07-17 5:00 ` [RFC PATCH 1/2] misc: shift install targets Christoph Hellwig
2024-07-17 16:19 ` Darrick J. Wong
2024-07-17 16:43 ` Christoph Hellwig
2024-07-02 0:51 ` [PATCHSET v13.7 10/16] xfsprogs: improve extended attribute validation Darrick J. Wong
2024-07-02 1:10 ` [PATCH 1/3] xfs_repair: check free space requirements before allowing upgrades Darrick J. Wong
2024-07-02 5:44 ` Christoph Hellwig
2024-07-02 1:10 ` [PATCH 2/3] xfs_repair: enforce one namespace bit per extended attribute Darrick J. Wong
2024-07-02 5:44 ` Christoph Hellwig
2024-07-02 1:10 ` [PATCH 3/3] xfs_repair: check for unknown flags in attr entries Darrick J. Wong
2024-07-02 5:45 ` Christoph Hellwig
2024-07-02 0:52 ` [PATCHSET v13.7 11/16] xfsprogs: Parent Pointers Darrick J. Wong
2024-07-02 1:10 ` [PATCH 01/24] libxfs: create attr log item opcodes and formats for parent pointers Darrick J. Wong
2024-07-02 6:24 ` Christoph Hellwig
2024-07-02 1:11 ` [PATCH 02/24] xfs_{db,repair}: implement new attr hash value function Darrick J. Wong
2024-07-02 6:24 ` Christoph Hellwig
2024-07-02 1:11 ` [PATCH 03/24] xfs_logprint: dump new attr log item fields Darrick J. Wong
2024-07-02 6:25 ` Christoph Hellwig
2024-07-02 20:02 ` Darrick J. Wong
2024-07-02 1:11 ` [PATCH 04/24] man: document the XFS_IOC_GETPARENTS ioctl Darrick J. Wong
2024-07-02 6:25 ` Christoph Hellwig
2024-07-02 1:11 ` [PATCH 05/24] libfrog: report parent pointers to userspace Darrick J. Wong
2024-07-02 6:25 ` Christoph Hellwig
2024-07-02 1:12 ` [PATCH 06/24] libfrog: add parent pointer support code Darrick J. Wong
2024-07-02 6:26 ` Christoph Hellwig
2024-07-02 1:12 ` [PATCH 07/24] xfs_io: adapt parent command to new parent pointer ioctls Darrick J. Wong
2024-07-02 6:26 ` Christoph Hellwig
2024-07-02 1:12 ` [PATCH 08/24] xfs_io: Add i, n and f flags to parent command Darrick J. Wong
2024-07-02 6:26 ` Christoph Hellwig
2024-07-02 1:13 ` [PATCH 09/24] xfs_logprint: decode parent pointers in ATTRI items fully Darrick J. Wong
2024-07-02 6:27 ` Christoph Hellwig
2024-07-02 1:13 ` [PATCH 10/24] xfs_spaceman: report file paths Darrick J. Wong
2024-07-02 6:27 ` Christoph Hellwig
2024-07-02 1:13 ` [PATCH 11/24] xfs_scrub: use parent pointers when possible to report file operations Darrick J. Wong
2024-07-02 6:27 ` Christoph Hellwig
2024-07-02 1:13 ` [PATCH 12/24] xfs_scrub: use parent pointers to report lost file data Darrick J. Wong
2024-07-02 6:28 ` Christoph Hellwig
2024-07-02 1:14 ` [PATCH 13/24] xfs_db: report parent pointers in version command Darrick J. Wong
2024-07-02 6:28 ` Christoph Hellwig
2024-07-02 1:14 ` [PATCH 14/24] xfs_db: report parent bit on xattrs Darrick J. Wong
2024-07-02 6:28 ` Christoph Hellwig
2024-07-02 1:14 ` [PATCH 15/24] xfs_db: report parent pointers embedded in xattrs Darrick J. Wong
2024-07-02 6:28 ` Christoph Hellwig
2024-07-02 1:14 ` [PATCH 16/24] xfs_db: obfuscate dirent and parent pointer names consistently Darrick J. Wong
2024-07-02 6:33 ` Christoph Hellwig
2024-07-02 1:15 ` [PATCH 17/24] libxfs: export attr3_leaf_hdr_from_disk via libxfs_api_defs.h Darrick J. Wong
2024-07-02 6:35 ` Christoph Hellwig
2024-07-02 1:15 ` [PATCH 18/24] xfs_db: add a parents command to list the parents of a file Darrick J. Wong
2024-07-02 6:35 ` Christoph Hellwig
2024-07-02 1:15 ` [PATCH 19/24] xfs_db: make attr_set and attr_remove handle parent pointers Darrick J. Wong
2024-07-02 6:36 ` Christoph Hellwig
2024-07-02 1:15 ` [PATCH 20/24] xfs_db: add link and unlink expert commands Darrick J. Wong
2024-07-02 6:36 ` Christoph Hellwig
2024-07-02 1:16 ` [PATCH 21/24] xfs_db: compute hashes of parent pointers Darrick J. Wong
2024-07-02 6:37 ` Christoph Hellwig
2024-07-02 1:16 ` [PATCH 22/24] libxfs: create new files with attr forks if necessary Darrick J. Wong
2024-07-02 6:37 ` Christoph Hellwig
2024-07-02 1:16 ` [PATCH 23/24] mkfs: Add parent pointers during protofile creation Darrick J. Wong
2024-07-02 6:37 ` Christoph Hellwig
2024-07-02 1:16 ` [PATCH 24/24] mkfs: enable formatting with parent pointers Darrick J. Wong
2024-07-02 6:38 ` Christoph Hellwig
2024-07-02 0:52 ` [PATCHSET v13.7 12/16] xfsprogs: scrubbing for " Darrick J. Wong
2024-07-02 1:17 ` [PATCH 1/2] xfs: create a blob array data structure Darrick J. Wong
2024-07-02 6:41 ` Christoph Hellwig
2024-07-02 1:17 ` [PATCH 2/2] man2: update ioctl_xfs_scrub_metadata.2 for parent pointers Darrick J. Wong
2024-07-02 6:41 ` Christoph Hellwig
2024-07-02 0:52 ` [PATCHSET v13.7 13/16] xfsprogs: offline repair " Darrick J. Wong
2024-07-02 1:17 ` [PATCH 01/12] xfs_db: remove some boilerplate from xfs_attr_set Darrick J. Wong
2024-07-02 6:41 ` Christoph Hellwig
2024-07-02 1:17 ` [PATCH 02/12] xfs_db: actually report errors from libxfs_attr_set Darrick J. Wong
2024-07-02 6:41 ` Christoph Hellwig
2024-07-02 1:18 ` [PATCH 03/12] xfs_repair: junk parent pointer attributes when filesystem doesn't support them Darrick J. Wong
2024-07-02 6:42 ` Christoph Hellwig
2024-07-02 1:18 ` [PATCH 04/12] xfs_repair: add parent pointers when messing with /lost+found Darrick J. Wong
2024-07-02 6:42 ` Christoph Hellwig
2024-07-02 1:18 ` [PATCH 05/12] xfs_repair: junk duplicate hashtab entries when processing sf dirents Darrick J. Wong
2024-07-02 6:43 ` Christoph Hellwig
2024-07-02 1:19 ` [PATCH 06/12] xfs_repair: build a parent pointer index Darrick J. Wong
2024-07-02 6:45 ` Christoph Hellwig
2024-07-02 1:19 ` [PATCH 07/12] xfs_repair: move the global dirent name store to a separate object Darrick J. Wong
2024-07-02 6:45 ` Christoph Hellwig
2024-07-02 1:19 ` [PATCH 08/12] xfs_repair: deduplicate strings stored in string blob Darrick J. Wong
2024-07-02 6:46 ` Christoph Hellwig
2024-07-02 1:19 ` [PATCH 09/12] xfs_repair: check parent pointers Darrick J. Wong
2024-07-02 6:47 ` Christoph Hellwig
2024-07-02 1:20 ` [PATCH 10/12] xfs_repair: dump garbage parent pointer attributes Darrick J. Wong
2024-07-02 6:47 ` Christoph Hellwig
2024-07-02 1:20 ` Darrick J. Wong [this message]
2024-07-02 6:47 ` [PATCH 11/12] xfs_repair: update ondisk parent pointer records Christoph Hellwig
2024-07-02 1:20 ` [PATCH 12/12] xfs_repair: wipe ondisk parent pointers when there are none Darrick J. Wong
2024-07-02 6:47 ` Christoph Hellwig
2024-07-02 0:52 ` [PATCHSET v13.7 14/16] xfsprogs: detect and correct directory tree problems Darrick J. Wong
2024-07-02 1:20 ` [PATCH 1/5] libfrog: add directory tree structure scrubber to scrub library Darrick J. Wong
2024-07-02 6:48 ` Christoph Hellwig
2024-07-02 1:21 ` [PATCH 2/5] xfs_spaceman: report directory tree corruption in the health information Darrick J. Wong
2024-07-02 6:48 ` Christoph Hellwig
2024-07-02 1:21 ` [PATCH 3/5] xfs_scrub: fix erroring out of check_inode_names Darrick J. Wong
2024-07-02 6:48 ` Christoph Hellwig
2024-07-02 1:21 ` [PATCH 4/5] xfs_scrub: detect and repair directory tree corruptions Darrick J. Wong
2024-07-02 6:49 ` Christoph Hellwig
2024-07-02 1:21 ` [PATCH 5/5] xfs_scrub: defer phase5 file scans if dirloop fails Darrick J. Wong
2024-07-02 6:49 ` Christoph Hellwig
2024-07-02 0:53 ` [PATCHSET v30.7 15/16] xfs_scrub: vectorize kernel calls Darrick J. Wong
2024-07-02 1:22 ` [PATCH 01/10] man: document vectored scrub mode Darrick J. Wong
2024-07-02 6:56 ` Christoph Hellwig
2024-07-02 1:22 ` [PATCH 02/10] libfrog: support vectored scrub Darrick J. Wong
2024-07-02 6:56 ` Christoph Hellwig
2024-07-02 1:22 ` [PATCH 03/10] xfs_io: " Darrick J. Wong
2024-07-02 6:57 ` Christoph Hellwig
2024-07-02 1:22 ` [PATCH 04/10] xfs_scrub: split the scrub epilogue code into a separate function Darrick J. Wong
2024-07-02 6:57 ` Christoph Hellwig
2024-07-02 1:23 ` [PATCH 05/10] xfs_scrub: split the repair " Darrick J. Wong
2024-07-02 6:57 ` Christoph Hellwig
2024-07-02 1:23 ` [PATCH 06/10] xfs_scrub: convert scrub and repair epilogues to use xfs_scrub_vec Darrick J. Wong
2024-07-02 6:57 ` Christoph Hellwig
2024-07-02 1:23 ` [PATCH 07/10] xfs_scrub: vectorize scrub calls Darrick J. Wong
2024-07-02 6:58 ` Christoph Hellwig
2024-07-02 1:23 ` [PATCH 08/10] xfs_scrub: vectorize repair calls Darrick J. Wong
2024-07-02 6:58 ` Christoph Hellwig
2024-07-02 1:24 ` [PATCH 09/10] xfs_scrub: use scrub barriers to reduce kernel calls Darrick J. Wong
2024-07-02 6:58 ` Christoph Hellwig
2024-07-02 1:24 ` [PATCH 10/10] xfs_scrub: try spot repairs of metadata items to make scrub progress Darrick J. Wong
2024-07-02 6:59 ` Christoph Hellwig
2024-07-02 0:53 ` [PATCHSET v30.7 16/16] xfs_repair: small remote symlinks are ok Darrick J. Wong
2024-07-02 1:24 ` [PATCH 1/1] xfs_repair: allow symlinks with short remote targets Darrick J. Wong
2024-07-02 6:59 ` Christoph Hellwig
-- strict thread matches above, loose matches on Subject: below --
2024-07-30 0:21 [PATCHSET v13.8 20/23] xfsprogs: offline repair for parent pointers Darrick J. Wong
2024-07-30 1:28 ` [PATCH 11/12] xfs_repair: update ondisk parent pointer records 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=171988122336.2010218.16979367018169015160.stgit@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=allison.henderson@oracle.com \
--cc=catherine.hoang@oracle.com \
--cc=cem@kernel.org \
--cc=hch@lst.de \
--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;
as well as URLs for NNTP newsgroup(s).