[PATCH] xfs_repair: add d_type when moving files to lost+found

Eric Sandeen sandeen at redhat.com
Fri Oct 18 12:59:36 CDT 2013


When we move disconnected inodes to lost+found, they aren't
assigned a dtype.  Fix this by just setting XFS_DIR3_FT_UNKNOWN
for now.  If the files are moved out of lost+found, the type
will be properly set at that time.

When repair gains more type knowledge we could use xfs_mode_to_ftype[]
to set the proper type when moved, but right now it's not a big
deal; UNKNOWN will suffice for files in lost+found, and prevents
us from using an uninitialized value.

Signed-off-by: Eric Sandeen <sandeen at redhat.com>
---

diff --git a/repair/phase6.c b/repair/phase6.c
index f84bdc0..41f6bfc 100644
--- a/repair/phase6.c
+++ b/repair/phase6.c
@@ -1041,6 +1041,8 @@ mv_orphanage(
 	xname.name = fname;
 	xname.len = snprintf((char *)fname, sizeof(fname), "%llu",
 				(unsigned long long)ino);
+	/* XXX use xfs_mode_to_ftype[] when userspace gains it */
+	xname.type = XFS_DIR3_FT_UNKNOWN;
 
 	err = libxfs_iget(mp, NULL, orphanage_ino, 0, &orphanage_ip, 0);
 	if (err)



More information about the xfs mailing list