diff options
author | Christoph Hellwig <hch@infradead.org> | 2007-08-28 21:59:36 -0400 |
---|---|---|
committer | Tim Shimmin <tes@chook.melbourne.sgi.com> | 2007-10-15 21:41:15 -0400 |
commit | 293688ec420f1160ed93ea4c7948ed5baf8bafa7 (patch) | |
tree | 3e342f759b3ae0499eedcb8f050dd2c4c1b48e93 /fs/xfs/linux-2.6 | |
parent | f541d270dbce375b7bd8cef466bdaf0cff945b45 (diff) |
[XFS] remove dependency of the dmapi module on behaviors
Mount options are now parsed by the main XFS module and rejected if dmapi
support is not available, and there is a new dm operation to send the
mount event.
SGI-PV: 969608
SGI-Modid: xfs-linux-melb:xfs-kern:29502a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vfs.c | 14 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_vfs.h | 7 |
2 files changed, 0 insertions, 21 deletions
diff --git a/fs/xfs/linux-2.6/xfs_vfs.c b/fs/xfs/linux-2.6/xfs_vfs.c index 6ed7f137a031..1ce15706458a 100644 --- a/fs/xfs/linux-2.6/xfs_vfs.c +++ b/fs/xfs/linux-2.6/xfs_vfs.c | |||
@@ -156,19 +156,6 @@ vfs_vget( | |||
156 | } | 156 | } |
157 | 157 | ||
158 | int | 158 | int |
159 | vfs_dmapiops( | ||
160 | struct bhv_desc *bdp, | ||
161 | caddr_t addr) | ||
162 | { | ||
163 | struct bhv_desc *next = bdp; | ||
164 | |||
165 | ASSERT(next); | ||
166 | while (! (bhvtovfsops(next))->vfs_dmapiops) | ||
167 | next = BHV_NEXT(next); | ||
168 | return ((*bhvtovfsops(next)->vfs_dmapiops)(next, addr)); | ||
169 | } | ||
170 | |||
171 | int | ||
172 | vfs_quotactl( | 159 | vfs_quotactl( |
173 | struct bhv_desc *bdp, | 160 | struct bhv_desc *bdp, |
174 | int cmd, | 161 | int cmd, |
@@ -306,7 +293,6 @@ bhv_remove_all_vfsops( | |||
306 | struct xfs_mount *mp; | 293 | struct xfs_mount *mp; |
307 | 294 | ||
308 | bhv_remove_vfsops(vfsp, VFS_POSITION_QM); | 295 | bhv_remove_vfsops(vfsp, VFS_POSITION_QM); |
309 | bhv_remove_vfsops(vfsp, VFS_POSITION_DM); | ||
310 | if (!freebase) | 296 | if (!freebase) |
311 | return; | 297 | return; |
312 | mp = XFS_VFSTOM(vfsp); | 298 | mp = XFS_VFSTOM(vfsp); |
diff --git a/fs/xfs/linux-2.6/xfs_vfs.h b/fs/xfs/linux-2.6/xfs_vfs.h index 768ffa96e62b..e63dbdbfd8a0 100644 --- a/fs/xfs/linux-2.6/xfs_vfs.h +++ b/fs/xfs/linux-2.6/xfs_vfs.h | |||
@@ -66,14 +66,12 @@ typedef struct bhv_vfs { | |||
66 | typedef enum { | 66 | typedef enum { |
67 | VFS_BHV_UNKNOWN, /* not specified */ | 67 | VFS_BHV_UNKNOWN, /* not specified */ |
68 | VFS_BHV_XFS, /* xfs */ | 68 | VFS_BHV_XFS, /* xfs */ |
69 | VFS_BHV_DM, /* data migration */ | ||
70 | VFS_BHV_QM, /* quota manager */ | 69 | VFS_BHV_QM, /* quota manager */ |
71 | VFS_BHV_IO, /* IO path */ | 70 | VFS_BHV_IO, /* IO path */ |
72 | VFS_BHV_END /* housekeeping end-of-range */ | 71 | VFS_BHV_END /* housekeeping end-of-range */ |
73 | } bhv_vfs_type_t; | 72 | } bhv_vfs_type_t; |
74 | 73 | ||
75 | #define VFS_POSITION_XFS (BHV_POSITION_BASE) | 74 | #define VFS_POSITION_XFS (BHV_POSITION_BASE) |
76 | #define VFS_POSITION_DM (VFS_POSITION_BASE+10) | ||
77 | #define VFS_POSITION_QM (VFS_POSITION_BASE+20) | 75 | #define VFS_POSITION_QM (VFS_POSITION_BASE+20) |
78 | #define VFS_POSITION_IO (VFS_POSITION_BASE+30) | 76 | #define VFS_POSITION_IO (VFS_POSITION_BASE+30) |
79 | 77 | ||
@@ -129,7 +127,6 @@ typedef int (*vfs_statvfs_t)(bhv_desc_t *, bhv_statvfs_t *, | |||
129 | struct inode *); | 127 | struct inode *); |
130 | typedef int (*vfs_sync_t)(bhv_desc_t *, int, struct cred *); | 128 | typedef int (*vfs_sync_t)(bhv_desc_t *, int, struct cred *); |
131 | typedef int (*vfs_vget_t)(bhv_desc_t *, struct inode **, struct fid *); | 129 | typedef int (*vfs_vget_t)(bhv_desc_t *, struct inode **, struct fid *); |
132 | typedef int (*vfs_dmapiops_t)(bhv_desc_t *, caddr_t); | ||
133 | typedef int (*vfs_quotactl_t)(bhv_desc_t *, int, int, caddr_t); | 130 | typedef int (*vfs_quotactl_t)(bhv_desc_t *, int, int, caddr_t); |
134 | typedef void (*vfs_init_vnode_t)(bhv_desc_t *, | 131 | typedef void (*vfs_init_vnode_t)(bhv_desc_t *, |
135 | struct inode *, struct xfs_inode *, int); | 132 | struct inode *, struct xfs_inode *, int); |
@@ -147,7 +144,6 @@ typedef struct bhv_vfsops { | |||
147 | vfs_statvfs_t vfs_statvfs; /* file system statistics */ | 144 | vfs_statvfs_t vfs_statvfs; /* file system statistics */ |
148 | vfs_sync_t vfs_sync; /* flush files */ | 145 | vfs_sync_t vfs_sync; /* flush files */ |
149 | vfs_vget_t vfs_vget; /* get vnode from fid */ | 146 | vfs_vget_t vfs_vget; /* get vnode from fid */ |
150 | vfs_dmapiops_t vfs_dmapiops; /* data migration */ | ||
151 | vfs_quotactl_t vfs_quotactl; /* disk quota */ | 147 | vfs_quotactl_t vfs_quotactl; /* disk quota */ |
152 | vfs_init_vnode_t vfs_init_vnode; /* initialize a new vnode */ | 148 | vfs_init_vnode_t vfs_init_vnode; /* initialize a new vnode */ |
153 | vfs_force_shutdown_t vfs_force_shutdown; /* crash and burn */ | 149 | vfs_force_shutdown_t vfs_force_shutdown; /* crash and burn */ |
@@ -167,7 +163,6 @@ typedef struct bhv_vfsops { | |||
167 | #define bhv_vfs_statvfs(v, sp,vp) vfs_statvfs(VFSHEAD(v), sp,vp) | 163 | #define bhv_vfs_statvfs(v, sp,vp) vfs_statvfs(VFSHEAD(v), sp,vp) |
168 | #define bhv_vfs_sync(v, flag,cr) vfs_sync(VFSHEAD(v), flag,cr) | 164 | #define bhv_vfs_sync(v, flag,cr) vfs_sync(VFSHEAD(v), flag,cr) |
169 | #define bhv_vfs_vget(v, vpp,fidp) vfs_vget(VFSHEAD(v), vpp,fidp) | 165 | #define bhv_vfs_vget(v, vpp,fidp) vfs_vget(VFSHEAD(v), vpp,fidp) |
170 | #define bhv_vfs_dmapiops(v, p) vfs_dmapiops(VFSHEAD(v), p) | ||
171 | #define bhv_vfs_quotactl(v, c,id,p) vfs_quotactl(VFSHEAD(v), c,id,p) | 166 | #define bhv_vfs_quotactl(v, c,id,p) vfs_quotactl(VFSHEAD(v), c,id,p) |
172 | #define bhv_vfs_init_vnode(v, vp,b,ul) vfs_init_vnode(VFSHEAD(v), vp,b,ul) | 167 | #define bhv_vfs_init_vnode(v, vp,b,ul) vfs_init_vnode(VFSHEAD(v), vp,b,ul) |
173 | #define bhv_vfs_force_shutdown(v,u,f,l) vfs_force_shutdown(VFSHEAD(v), u,f,l) | 168 | #define bhv_vfs_force_shutdown(v,u,f,l) vfs_force_shutdown(VFSHEAD(v), u,f,l) |
@@ -185,7 +180,6 @@ typedef struct bhv_vfsops { | |||
185 | #define bhv_next_vfs_statvfs(b, sp,vp) vfs_statvfs(b, sp,vp) | 180 | #define bhv_next_vfs_statvfs(b, sp,vp) vfs_statvfs(b, sp,vp) |
186 | #define bhv_next_vfs_sync(b, flag,cr) vfs_sync(b, flag,cr) | 181 | #define bhv_next_vfs_sync(b, flag,cr) vfs_sync(b, flag,cr) |
187 | #define bhv_next_vfs_vget(b, vpp,fidp) vfs_vget(b, vpp,fidp) | 182 | #define bhv_next_vfs_vget(b, vpp,fidp) vfs_vget(b, vpp,fidp) |
188 | #define bhv_next_vfs_dmapiops(b, p) vfs_dmapiops(b, p) | ||
189 | #define bhv_next_vfs_quotactl(b, c,id,p) vfs_quotactl(b, c,id,p) | 183 | #define bhv_next_vfs_quotactl(b, c,id,p) vfs_quotactl(b, c,id,p) |
190 | #define bhv_next_vfs_init_vnode(b, vp,b2,ul) vfs_init_vnode(b, vp,b2,ul) | 184 | #define bhv_next_vfs_init_vnode(b, vp,b2,ul) vfs_init_vnode(b, vp,b2,ul) |
191 | #define bhv_next_force_shutdown(b, fl,f,l) vfs_force_shutdown(b, fl,f,l) | 185 | #define bhv_next_force_shutdown(b, fl,f,l) vfs_force_shutdown(b, fl,f,l) |
@@ -200,7 +194,6 @@ extern int vfs_root(bhv_desc_t *, struct inode **); | |||
200 | extern int vfs_statvfs(bhv_desc_t *, bhv_statvfs_t *, struct inode *); | 194 | extern int vfs_statvfs(bhv_desc_t *, bhv_statvfs_t *, struct inode *); |
201 | extern int vfs_sync(bhv_desc_t *, int, struct cred *); | 195 | extern int vfs_sync(bhv_desc_t *, int, struct cred *); |
202 | extern int vfs_vget(bhv_desc_t *, struct inode **, struct fid *); | 196 | extern int vfs_vget(bhv_desc_t *, struct inode **, struct fid *); |
203 | extern int vfs_dmapiops(bhv_desc_t *, caddr_t); | ||
204 | extern int vfs_quotactl(bhv_desc_t *, int, int, caddr_t); | 197 | extern int vfs_quotactl(bhv_desc_t *, int, int, caddr_t); |
205 | extern void vfs_init_vnode(bhv_desc_t *, struct inode *, struct xfs_inode *, int); | 198 | extern void vfs_init_vnode(bhv_desc_t *, struct inode *, struct xfs_inode *, int); |
206 | extern void vfs_force_shutdown(bhv_desc_t *, int, char *, int); | 199 | extern void vfs_force_shutdown(bhv_desc_t *, int, char *, int); |