1 #ifndef __VFS_VMNT_H__ 2 #define __VFS_VMNT_H__ 3 4 #include "tll.h" 5 #include "type.h" 6 7 EXTERN struct vmnt { 8 int m_fs_e; /* FS process' kernel endpoint */ 9 tll_t m_lock; 10 comm_t m_comm; 11 dev_t m_dev; /* device number */ 12 unsigned int m_flags; /* mount flags */ 13 unsigned int m_fs_flags; /* capability flags returned by FS */ 14 struct vnode *m_mounted_on; /* vnode on which the partition is mounted */ 15 struct vnode *m_root_node; /* root vnode */ 16 char m_label[LABEL_MAX]; /* label of the file system process */ 17 char m_mount_path[PATH_MAX]; /* path on which vmnt is mounted */ 18 char m_mount_dev[PATH_MAX]; /* device from which vmnt is mounted */ 19 char m_fstype[FSTYPE_MAX]; /* file system type */ 20 struct statvfs_cache m_stats; /* cached file system statistics */ 21 } vmnt[NR_MNTS]; 22 23 /* vmnt flags */ 24 #define VMNT_READONLY 01 /* Device mounted readonly */ 25 #define VMNT_CALLBACK 02 /* FS did back call */ 26 #define VMNT_MOUNTING 04 /* Device is being mounted */ 27 #define VMNT_FORCEROOTBSF 010 /* Force usage of none-device */ 28 #define VMNT_CANSTAT 020 /* Include FS in getvfsstat output */ 29 30 /* vmnt lock types mapping */ 31 #define VMNT_READ TLL_READ 32 #define VMNT_WRITE TLL_READSER 33 #define VMNT_EXCL TLL_WRITE 34 35 #endif 36