[Top] [All Lists]

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

To: xfs-oss <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfs_repair: add d_type when moving files to lost+found
From: Eric Sandeen <sandeen@xxxxxxxxxx>
Date: Fri, 18 Oct 2013 12:59:36 -0500
Delivered-to: xfs@xxxxxxxxxxx
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
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@xxxxxxxxxx>

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)

<Prev in Thread] Current Thread [Next in Thread>