vserver 1.9.3
[linux-2.6.git] / fs / xfs / xfs_mount.h
index e338e32..c194b8e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
+ * Copyright (c) 2000-2004 Silicon Graphics, Inc.  All Rights Reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of version 2 of the GNU General Public License as
@@ -95,7 +95,8 @@ typedef int   (*xfs_send_data_t)(int, struct vnode *,
                        xfs_off_t, size_t, int, vrwlock_t *);
 typedef int    (*xfs_send_mmap_t)(struct vm_area_struct *, uint);
 typedef int    (*xfs_send_destroy_t)(struct vnode *, dm_right_t);
-typedef int    (*xfs_send_namesp_t)(dm_eventtype_t, struct vnode *,
+typedef int    (*xfs_send_namesp_t)(dm_eventtype_t, struct vfs *,
+                       struct vnode *,
                        dm_right_t, struct vnode *, dm_right_t,
                        char *, char *, mode_t, int, int);
 typedef void   (*xfs_send_unmount_t)(struct vfs *, struct vnode *,
@@ -116,7 +117,9 @@ typedef struct xfs_dmops {
 #define XFS_SEND_DESTROY(mp, vp,right) \
        (*(mp)->m_dm_ops.xfs_send_destroy)(vp,right)
 #define XFS_SEND_NAMESP(mp, ev,b1,r1,b2,r2,n1,n2,mode,rval,fl) \
-       (*(mp)->m_dm_ops.xfs_send_namesp)(ev,b1,r1,b2,r2,n1,n2,mode,rval,fl)
+       (*(mp)->m_dm_ops.xfs_send_namesp)(ev,NULL,b1,r1,b2,r2,n1,n2,mode,rval,fl)
+#define XFS_SEND_PREUNMOUNT(mp, vfs,b1,r1,b2,r2,n1,n2,mode,rval,fl) \
+       (*(mp)->m_dm_ops.xfs_send_namesp)(DM_EVENT_PREUNMOUNT,vfs,b1,r1,b2,r2,n1,n2,mode,rval,fl)
 #define XFS_SEND_UNMOUNT(mp, vfsp,vp,right,mode,rval,fl) \
        (*(mp)->m_dm_ops.xfs_send_unmount)(vfsp,vp,right,mode,rval,fl)
 
@@ -413,16 +416,14 @@ typedef struct xfs_mount {
 #define XFS_MOUNT_NOUUID       0x00010000      /* ignore uuid during mount */
 #define XFS_MOUNT_NOLOGFLUSH   0x00020000
 #define XFS_MOUNT_IDELETE      0x00040000      /* delete empty inode clusters*/
+#define XFS_MOUNT_SWALLOC      0x00080000      /* turn on stripe width
+                                                * allocation */
 
 /*
  * Default minimum read and write sizes.
  */
 #define XFS_READIO_LOG_LARGE   16
 #define XFS_WRITEIO_LOG_LARGE  16
-/*
- * Default allocation size
- */
-#define XFS_WRITE_IO_LOG       16
 
 /*
  * Max and min values for UIO and mount-option defined I/O sizes;
@@ -550,7 +551,7 @@ extern int  xfs_readsb(xfs_mount_t *mp);
 extern void    xfs_freesb(xfs_mount_t *);
 extern void    xfs_do_force_shutdown(bhv_desc_t *, int, char *, int);
 extern int     xfs_syncsub(xfs_mount_t *, int, int, int *);
-extern void    xfs_initialize_perag(xfs_mount_t *, int);
+extern xfs_agnumber_t  xfs_initialize_perag(xfs_mount_t *, xfs_agnumber_t);
 extern void    xfs_xlatesb(void *, struct xfs_sb *, int, xfs_arch_t,
                        __int64_t);