On 5/1/20 3:23 AM, Christoph Hellwig wrote: > The xfs_dir_ops infrastructure has been removed a while ago. Remove > a few always empty members in xfsprogs to finish the cleanup. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> Whoops, the perils of not having everything quite in sync. Maybe I should try to script checks for our xfsprogs-private structures that mirror but don't duplicate kernel structures... Other than the stray editline hunks in the patch, looks good. I can drop those. Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > include/xfs_inode.h | 2 -- > include/xfs_mount.h | 3 --- > libxcmd/input.c | 2 ++ > libxfs/rdwr.c | 8 -------- > libxfs/util.c | 8 -------- > repair/phase6.c | 1 - > 6 files changed, 2 insertions(+), 22 deletions(-) > > diff --git a/include/xfs_inode.h b/include/xfs_inode.h > index e95a4959..676960d1 100644 > --- a/include/xfs_inode.h > +++ b/include/xfs_inode.h > @@ -14,7 +14,6 @@ > struct xfs_trans; > struct xfs_mount; > struct xfs_inode_log_item; > -struct xfs_dir_ops; > > /* > * These are not actually used, they are only for userspace build > @@ -60,7 +59,6 @@ typedef struct xfs_inode { > unsigned int i_cformat; /* format of cow fork */ > > xfs_fsize_t i_size; /* in-memory size */ > - const struct xfs_dir_ops *d_ops; /* directory ops vector */ > struct xfs_ifork_ops *i_fork_ops; /* fork verifiers */ > struct inode i_vnode; > } xfs_inode_t; > diff --git a/include/xfs_mount.h b/include/xfs_mount.h > index 7bd23fbb..20c8bfaf 100644 > --- a/include/xfs_mount.h > +++ b/include/xfs_mount.h > @@ -9,7 +9,6 @@ > > struct xfs_inode; > struct xfs_buftarg; > -struct xfs_dir_ops; > struct xfs_da_geometry; > > /* > @@ -87,8 +86,6 @@ typedef struct xfs_mount { > > struct xfs_da_geometry *m_dir_geo; /* directory block geometry */ > struct xfs_da_geometry *m_attr_geo; /* attribute block geometry */ > - const struct xfs_dir_ops *m_dir_inode_ops; /* vector of dir inode ops */ > - const struct xfs_dir_ops *m_nondir_inode_ops; /* !dir inode ops */ > > /* > * anonymous struct to allow xfs_dquot_buf.c to compile. > diff --git a/libxcmd/input.c b/libxcmd/input.c > index 203110df..84760784 100644 > --- a/libxcmd/input.c > +++ b/libxcmd/input.c > @@ -26,6 +26,7 @@ get_prompt(void) > } > > #ifdef ENABLE_EDITLINE > +#warning "Using editline" > static char *el_get_prompt(EditLine *e) { return get_prompt(); } > char * > fetchline(void) > @@ -55,6 +56,7 @@ fetchline(void) > return line; > } > #else > +#warning "Not using editline" > # define MAXREADLINESZ 1024 > char * > fetchline(void) these look stray ;) > diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c > index fd656512..8c48e256 100644 > --- a/libxfs/rdwr.c > +++ b/libxfs/rdwr.c > @@ -1287,14 +1287,6 @@ libxfs_iget( > return -EFSCORRUPTED; > } > > - /* > - * set up the inode ops structure that the libxfs code relies on > - */ > - if (XFS_ISDIR(ip)) > - ip->d_ops = mp->m_dir_inode_ops; > - else > - ip->d_ops = mp->m_nondir_inode_ops; > - > *ipp = ip; > return 0; > } > diff --git a/libxfs/util.c b/libxfs/util.c > index 2e2ade24..de0bfece 100644 > --- a/libxfs/util.c > +++ b/libxfs/util.c > @@ -351,14 +351,6 @@ libxfs_ialloc( > ip->i_d.di_aformat = XFS_DINODE_FMT_EXTENTS; > ip->i_d.di_anextents = 0; > > - /* > - * set up the inode ops structure that the libxfs code relies on > - */ > - if (XFS_ISDIR(ip)) > - ip->d_ops = ip->i_mount->m_dir_inode_ops; > - else > - ip->d_ops = ip->i_mount->m_nondir_inode_ops; > - > /* > * Log the new values stuffed into the inode. > */ > diff --git a/repair/phase6.c b/repair/phase6.c > index beceea9a..de8c744b 100644 > --- a/repair/phase6.c > +++ b/repair/phase6.c > @@ -917,7 +917,6 @@ mk_root_dir(xfs_mount_t *mp) > /* > * initialize the directory > */ > - ip->d_ops = mp->m_dir_inode_ops; > libxfs_dir_init(tp, ip, ip); > > error = -libxfs_trans_commit(tp); >