aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-08-28 21:59:36 -0400
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-10-15 21:41:15 -0400
commit293688ec420f1160ed93ea4c7948ed5baf8bafa7 (patch)
tree3e342f759b3ae0499eedcb8f050dd2c4c1b48e93 /fs/xfs/linux-2.6
parentf541d270dbce375b7bd8cef466bdaf0cff945b45 (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.c14
-rw-r--r--fs/xfs/linux-2.6/xfs_vfs.h7
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
158int 158int
159vfs_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
171int
172vfs_quotactl( 159vfs_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 {
66typedef enum { 66typedef 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 *);
130typedef int (*vfs_sync_t)(bhv_desc_t *, int, struct cred *); 128typedef int (*vfs_sync_t)(bhv_desc_t *, int, struct cred *);
131typedef int (*vfs_vget_t)(bhv_desc_t *, struct inode **, struct fid *); 129typedef int (*vfs_vget_t)(bhv_desc_t *, struct inode **, struct fid *);
132typedef int (*vfs_dmapiops_t)(bhv_desc_t *, caddr_t);
133typedef int (*vfs_quotactl_t)(bhv_desc_t *, int, int, caddr_t); 130typedef int (*vfs_quotactl_t)(bhv_desc_t *, int, int, caddr_t);
134typedef void (*vfs_init_vnode_t)(bhv_desc_t *, 131typedef 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 **);
200extern int vfs_statvfs(bhv_desc_t *, bhv_statvfs_t *, struct inode *); 194extern int vfs_statvfs(bhv_desc_t *, bhv_statvfs_t *, struct inode *);
201extern int vfs_sync(bhv_desc_t *, int, struct cred *); 195extern int vfs_sync(bhv_desc_t *, int, struct cred *);
202extern int vfs_vget(bhv_desc_t *, struct inode **, struct fid *); 196extern int vfs_vget(bhv_desc_t *, struct inode **, struct fid *);
203extern int vfs_dmapiops(bhv_desc_t *, caddr_t);
204extern int vfs_quotactl(bhv_desc_t *, int, int, caddr_t); 197extern int vfs_quotactl(bhv_desc_t *, int, int, caddr_t);
205extern void vfs_init_vnode(bhv_desc_t *, struct inode *, struct xfs_inode *, int); 198extern void vfs_init_vnode(bhv_desc_t *, struct inode *, struct xfs_inode *, int);
206extern void vfs_force_shutdown(bhv_desc_t *, int, char *, int); 199extern void vfs_force_shutdown(bhv_desc_t *, int, char *, int);