Message ID | 155148289561.16677.8657255567421403873.stgit@magnolia (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | xfsprogs-5.0: fix various problems | expand |
On 3/1/19 5:28 PM, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@oracle.com> > > In mk_root_dir, we reinitialize the root directory inode with a link > count of 1. This differs from mkfs parseproto, which initializes the > root to have a link count of 2. The nlink discrepancy in repair is > caught and corrected during phase 7, but this is unnecessary since we > should set it properly in the first place. > > Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> I have this nagging feeling that we've pingponged some of this back and forth, but this seems totally legitimate, so ... embrace the fear ;) Reviewed-by: Eric Sandeen <sandeen@redhat.com> > --- > repair/phase6.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > > diff --git a/repair/phase6.c b/repair/phase6.c > index 9477bc25..8a50b350 100644 > --- a/repair/phase6.c > +++ b/repair/phase6.c > @@ -891,7 +891,7 @@ mk_root_dir(xfs_mount_t *mp) > ip->i_d.di_format = XFS_DINODE_FMT_EXTENTS; > ip->i_d.di_aformat = XFS_DINODE_FMT_EXTENTS; > > - set_nlink(VFS_I(ip), 1); /* account for . */ > + set_nlink(VFS_I(ip), 2); /* account for . and .. */ > > times = XFS_ICHGTIME_CHG | XFS_ICHGTIME_MOD; > if (ip->i_d.di_version == 3) { >
diff --git a/repair/phase6.c b/repair/phase6.c index 9477bc25..8a50b350 100644 --- a/repair/phase6.c +++ b/repair/phase6.c @@ -891,7 +891,7 @@ mk_root_dir(xfs_mount_t *mp) ip->i_d.di_format = XFS_DINODE_FMT_EXTENTS; ip->i_d.di_aformat = XFS_DINODE_FMT_EXTENTS; - set_nlink(VFS_I(ip), 1); /* account for . */ + set_nlink(VFS_I(ip), 2); /* account for . and .. */ times = XFS_ICHGTIME_CHG | XFS_ICHGTIME_MOD; if (ip->i_d.di_version == 3) {