Commit 957ee13e authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Darrick J. Wong

xfs: remove the now unused dir ops infrastructure

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent 59b8b465
...@@ -27,7 +27,6 @@ xfs-y += $(addprefix libxfs/, \ ...@@ -27,7 +27,6 @@ xfs-y += $(addprefix libxfs/, \
xfs_bmap_btree.o \ xfs_bmap_btree.o \
xfs_btree.o \ xfs_btree.o \
xfs_da_btree.o \ xfs_da_btree.o \
xfs_da_format.o \
xfs_defer.o \ xfs_defer.o \
xfs_dir2.o \ xfs_dir2.o \
xfs_dir2_block.o \ xfs_dir2_block.o \
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
struct xfs_inode; struct xfs_inode;
struct xfs_trans; struct xfs_trans;
struct zone; struct zone;
struct xfs_dir_ops;
/* /*
* Directory/attribute geometry information. There will be one of these for each * Directory/attribute geometry information. There will be one of these for each
......
// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2000,2002,2005 Silicon Graphics, Inc.
* Copyright (c) 2013 Red Hat, Inc.
* All Rights Reserved.
*/
#include "xfs.h"
#include "xfs_fs.h"
#include "xfs_shared.h"
#include "xfs_format.h"
#include "xfs_log_format.h"
#include "xfs_trans_resv.h"
#include "xfs_mount.h"
#include "xfs_inode.h"
#include "xfs_dir2.h"
#include "xfs_dir2_priv.h"
static const struct xfs_dir_ops xfs_dir2_ops = {
};
static const struct xfs_dir_ops xfs_dir2_ftype_ops = {
};
static const struct xfs_dir_ops xfs_dir3_ops = {
};
/*
* Return the ops structure according to the current config. If we are passed
* an inode, then that overrides the default config we use which is based on
* feature bits.
*/
const struct xfs_dir_ops *
xfs_dir_get_ops(
struct xfs_mount *mp,
struct xfs_inode *dp)
{
if (dp)
return dp->d_ops;
if (mp->m_dir_inode_ops)
return mp->m_dir_inode_ops;
if (xfs_sb_version_hascrc(&mp->m_sb))
return &xfs_dir3_ops;
if (xfs_sb_version_hasftype(&mp->m_sb))
return &xfs_dir2_ftype_ops;
return &xfs_dir2_ops;
}
...@@ -104,8 +104,6 @@ xfs_da_mount( ...@@ -104,8 +104,6 @@ xfs_da_mount(
ASSERT(mp->m_sb.sb_versionnum & XFS_SB_VERSION_DIRV2BIT); ASSERT(mp->m_sb.sb_versionnum & XFS_SB_VERSION_DIRV2BIT);
ASSERT(xfs_dir2_dirblock_bytes(&mp->m_sb) <= XFS_MAX_BLOCKSIZE); ASSERT(xfs_dir2_dirblock_bytes(&mp->m_sb) <= XFS_MAX_BLOCKSIZE);
mp->m_dir_inode_ops = xfs_dir_get_ops(mp, NULL);
mp->m_dir_geo = kmem_zalloc(sizeof(struct xfs_da_geometry), mp->m_dir_geo = kmem_zalloc(sizeof(struct xfs_da_geometry),
KM_MAYFAIL); KM_MAYFAIL);
mp->m_attr_geo = kmem_zalloc(sizeof(struct xfs_da_geometry), mp->m_attr_geo = kmem_zalloc(sizeof(struct xfs_da_geometry),
......
...@@ -28,15 +28,6 @@ extern struct xfs_name xfs_name_dotdot; ...@@ -28,15 +28,6 @@ extern struct xfs_name xfs_name_dotdot;
*/ */
extern unsigned char xfs_mode_to_ftype(int mode); extern unsigned char xfs_mode_to_ftype(int mode);
/*
* directory operations vector for encode/decode routines
*/
struct xfs_dir_ops {
};
extern const struct xfs_dir_ops *
xfs_dir_get_ops(struct xfs_mount *mp, struct xfs_inode *dp);
/* /*
* Generic directory interface routines * Generic directory interface routines
*/ */
......
...@@ -37,9 +37,6 @@ typedef struct xfs_inode { ...@@ -37,9 +37,6 @@ typedef struct xfs_inode {
struct xfs_ifork *i_cowfp; /* copy on write extents */ struct xfs_ifork *i_cowfp; /* copy on write extents */
struct xfs_ifork i_df; /* data fork */ struct xfs_ifork i_df; /* data fork */
/* operations vectors */
const struct xfs_dir_ops *d_ops; /* directory ops vector */
/* Transaction and locking information. */ /* Transaction and locking information. */
struct xfs_inode_log_item *i_itemp; /* logging information */ struct xfs_inode_log_item *i_itemp; /* logging information */
mrlock_t i_lock; /* inode lock */ mrlock_t i_lock; /* inode lock */
......
...@@ -1321,7 +1321,6 @@ xfs_setup_inode( ...@@ -1321,7 +1321,6 @@ xfs_setup_inode(
lockdep_set_class(&inode->i_rwsem, lockdep_set_class(&inode->i_rwsem,
&inode->i_sb->s_type->i_mutex_dir_key); &inode->i_sb->s_type->i_mutex_dir_key);
lockdep_set_class(&ip->i_lock.mr_lock, &xfs_dir_ilock_class); lockdep_set_class(&ip->i_lock.mr_lock, &xfs_dir_ilock_class);
ip->d_ops = ip->i_mount->m_dir_inode_ops;
} else { } else {
lockdep_set_class(&ip->i_lock.mr_lock, &xfs_nondir_ilock_class); lockdep_set_class(&ip->i_lock.mr_lock, &xfs_nondir_ilock_class);
} }
......
...@@ -12,7 +12,6 @@ struct xfs_mru_cache; ...@@ -12,7 +12,6 @@ struct xfs_mru_cache;
struct xfs_nameops; struct xfs_nameops;
struct xfs_ail; struct xfs_ail;
struct xfs_quotainfo; struct xfs_quotainfo;
struct xfs_dir_ops;
struct xfs_da_geometry; struct xfs_da_geometry;
/* dynamic preallocation free space thresholds, 5% down to 1% */ /* dynamic preallocation free space thresholds, 5% down to 1% */
...@@ -156,7 +155,6 @@ typedef struct xfs_mount { ...@@ -156,7 +155,6 @@ typedef struct xfs_mount {
int m_swidth; /* stripe width */ int m_swidth; /* stripe width */
uint8_t m_sectbb_log; /* sectlog - BBSHIFT */ uint8_t m_sectbb_log; /* sectlog - BBSHIFT */
const struct xfs_nameops *m_dirnameops; /* vector of dir name ops */ const struct xfs_nameops *m_dirnameops; /* vector of dir name ops */
const struct xfs_dir_ops *m_dir_inode_ops; /* vector of dir inode ops */
uint m_chsize; /* size of next field */ uint m_chsize; /* size of next field */
atomic_t m_active_trans; /* number trans frozen */ atomic_t m_active_trans; /* number trans frozen */
struct xfs_mru_cache *m_filestream; /* per-mount filestream data */ struct xfs_mru_cache *m_filestream; /* per-mount filestream data */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment