diff options
author | Christoph Hellwig <hch@infradead.org> | 2010-06-23 04:11:15 -0400 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-07-26 14:16:33 -0400 |
commit | 288699fecaffa1ef8f75f92020cbb593a772e487 (patch) | |
tree | 0b8dff3cff671a429739e1b30c8dcfedc40c19a7 /fs/xfs/xfs_mount.h | |
parent | b37fa16e78d6f9790462b3181602a26b5af36260 (diff) |
xfs: drop dmapi hooks
Dmapi support was never merged upstream, but we still have a lot of hooks
bloating XFS for it, all over the fast pathes of the filesystem.
This patch drops over 700 lines of dmapi overhead. If we'll ever get HSM
support in mainline at least the namespace events can be done much saner
in the VFS instead of the individual filesystem, so it's not like this
is much help for future work.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Diffstat (limited to 'fs/xfs/xfs_mount.h')
-rw-r--r-- | fs/xfs/xfs_mount.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index 5761087ee8ea..e70dc39394ae 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h | |||
@@ -66,65 +66,6 @@ struct xfs_nameops; | |||
66 | struct xfs_ail; | 66 | struct xfs_ail; |
67 | struct xfs_quotainfo; | 67 | struct xfs_quotainfo; |
68 | 68 | ||
69 | |||
70 | /* | ||
71 | * Prototypes and functions for the Data Migration subsystem. | ||
72 | */ | ||
73 | |||
74 | typedef int (*xfs_send_data_t)(int, struct xfs_inode *, | ||
75 | xfs_off_t, size_t, int, int *); | ||
76 | typedef int (*xfs_send_mmap_t)(struct vm_area_struct *, uint); | ||
77 | typedef int (*xfs_send_destroy_t)(struct xfs_inode *, dm_right_t); | ||
78 | typedef int (*xfs_send_namesp_t)(dm_eventtype_t, struct xfs_mount *, | ||
79 | struct xfs_inode *, dm_right_t, | ||
80 | struct xfs_inode *, dm_right_t, | ||
81 | const unsigned char *, const unsigned char *, | ||
82 | mode_t, int, int); | ||
83 | typedef int (*xfs_send_mount_t)(struct xfs_mount *, dm_right_t, | ||
84 | char *, char *); | ||
85 | typedef void (*xfs_send_unmount_t)(struct xfs_mount *, struct xfs_inode *, | ||
86 | dm_right_t, mode_t, int, int); | ||
87 | |||
88 | typedef struct xfs_dmops { | ||
89 | xfs_send_data_t xfs_send_data; | ||
90 | xfs_send_mmap_t xfs_send_mmap; | ||
91 | xfs_send_destroy_t xfs_send_destroy; | ||
92 | xfs_send_namesp_t xfs_send_namesp; | ||
93 | xfs_send_mount_t xfs_send_mount; | ||
94 | xfs_send_unmount_t xfs_send_unmount; | ||
95 | } xfs_dmops_t; | ||
96 | |||
97 | #define XFS_DMAPI_UNMOUNT_FLAGS(mp) \ | ||
98 | (((mp)->m_dmevmask & (1 << DM_EVENT_UNMOUNT)) ? 0 : DM_FLAGS_UNWANTED) | ||
99 | |||
100 | #define XFS_SEND_DATA(mp, ev,ip,off,len,fl,lock) \ | ||
101 | (*(mp)->m_dm_ops->xfs_send_data)(ev,ip,off,len,fl,lock) | ||
102 | #define XFS_SEND_MMAP(mp, vma,fl) \ | ||
103 | (*(mp)->m_dm_ops->xfs_send_mmap)(vma,fl) | ||
104 | #define XFS_SEND_DESTROY(mp, ip,right) \ | ||
105 | (*(mp)->m_dm_ops->xfs_send_destroy)(ip,right) | ||
106 | #define XFS_SEND_NAMESP(mp, ev,b1,r1,b2,r2,n1,n2,mode,rval,fl) \ | ||
107 | (*(mp)->m_dm_ops->xfs_send_namesp)(ev,NULL,b1,r1,b2,r2,n1,n2,mode,rval,fl) | ||
108 | #define XFS_SEND_MOUNT(mp,right,path,name) \ | ||
109 | (*(mp)->m_dm_ops->xfs_send_mount)(mp,right,path,name) | ||
110 | #define XFS_SEND_PREUNMOUNT(mp) \ | ||
111 | do { \ | ||
112 | if (mp->m_flags & XFS_MOUNT_DMAPI) { \ | ||
113 | (*(mp)->m_dm_ops->xfs_send_namesp)(DM_EVENT_PREUNMOUNT, mp, \ | ||
114 | (mp)->m_rootip, DM_RIGHT_NULL, \ | ||
115 | (mp)->m_rootip, DM_RIGHT_NULL, \ | ||
116 | NULL, NULL, 0, 0, XFS_DMAPI_UNMOUNT_FLAGS(mp)); \ | ||
117 | } \ | ||
118 | } while (0) | ||
119 | #define XFS_SEND_UNMOUNT(mp) \ | ||
120 | do { \ | ||
121 | if (mp->m_flags & XFS_MOUNT_DMAPI) { \ | ||
122 | (*(mp)->m_dm_ops->xfs_send_unmount)(mp, (mp)->m_rootip, \ | ||
123 | DM_RIGHT_NULL, 0, 0, XFS_DMAPI_UNMOUNT_FLAGS(mp)); \ | ||
124 | } \ | ||
125 | } while (0) | ||
126 | |||
127 | |||
128 | #ifdef HAVE_PERCPU_SB | 69 | #ifdef HAVE_PERCPU_SB |
129 | 70 | ||
130 | /* | 71 | /* |
@@ -241,8 +182,6 @@ typedef struct xfs_mount { | |||
241 | uint m_chsize; /* size of next field */ | 182 | uint m_chsize; /* size of next field */ |
242 | struct xfs_chash *m_chash; /* fs private inode per-cluster | 183 | struct xfs_chash *m_chash; /* fs private inode per-cluster |
243 | * hash table */ | 184 | * hash table */ |
244 | struct xfs_dmops *m_dm_ops; /* vector of DMI ops */ | ||
245 | struct xfs_qmops *m_qm_ops; /* vector of XQM ops */ | ||
246 | atomic_t m_active_trans; /* number trans frozen */ | 185 | atomic_t m_active_trans; /* number trans frozen */ |
247 | #ifdef HAVE_PERCPU_SB | 186 | #ifdef HAVE_PERCPU_SB |
248 | xfs_icsb_cnts_t __percpu *m_sb_cnts; /* per-cpu superblock counters */ | 187 | xfs_icsb_cnts_t __percpu *m_sb_cnts; /* per-cpu superblock counters */ |
@@ -269,7 +208,6 @@ typedef struct xfs_mount { | |||
269 | must be synchronous except | 208 | must be synchronous except |
270 | for space allocations */ | 209 | for space allocations */ |
271 | #define XFS_MOUNT_DELAYLOG (1ULL << 1) /* delayed logging is enabled */ | 210 | #define XFS_MOUNT_DELAYLOG (1ULL << 1) /* delayed logging is enabled */ |
272 | #define XFS_MOUNT_DMAPI (1ULL << 2) /* dmapi is enabled */ | ||
273 | #define XFS_MOUNT_WAS_CLEAN (1ULL << 3) | 211 | #define XFS_MOUNT_WAS_CLEAN (1ULL << 3) |
274 | #define XFS_MOUNT_FS_SHUTDOWN (1ULL << 4) /* atomic stop of all filesystem | 212 | #define XFS_MOUNT_FS_SHUTDOWN (1ULL << 4) /* atomic stop of all filesystem |
275 | operations, typically for | 213 | operations, typically for |
@@ -440,11 +378,6 @@ extern int xfs_sb_validate_fsb_count(struct xfs_sb *, __uint64_t); | |||
440 | 378 | ||
441 | extern int xfs_dev_is_read_only(struct xfs_mount *, char *); | 379 | extern int xfs_dev_is_read_only(struct xfs_mount *, char *); |
442 | 380 | ||
443 | extern int xfs_dmops_get(struct xfs_mount *); | ||
444 | extern void xfs_dmops_put(struct xfs_mount *); | ||
445 | |||
446 | extern struct xfs_dmops xfs_dmcore_xfs; | ||
447 | |||
448 | #endif /* __KERNEL__ */ | 381 | #endif /* __KERNEL__ */ |
449 | 382 | ||
450 | extern void xfs_mod_sb(struct xfs_trans *, __int64_t); | 383 | extern void xfs_mod_sb(struct xfs_trans *, __int64_t); |