2012-02-13 16:28:04 +01:00
|
|
|
#ifndef __VFS_VMNT_H__
|
|
|
|
#define __VFS_VMNT_H__
|
2006-10-25 15:40:36 +02:00
|
|
|
|
2012-11-22 23:00:00 +01:00
|
|
|
#include "tll.h"
|
2013-08-20 01:39:47 +02:00
|
|
|
#include "type.h"
|
2012-11-22 23:00:00 +01:00
|
|
|
|
2006-10-25 15:40:36 +02:00
|
|
|
EXTERN struct vmnt {
|
2012-02-13 16:28:04 +01:00
|
|
|
int m_fs_e; /* FS process' kernel endpoint */
|
|
|
|
tll_t m_lock;
|
|
|
|
comm_t m_comm;
|
|
|
|
dev_t m_dev; /* device number */
|
|
|
|
unsigned int m_flags; /* mount flags */
|
2013-08-31 21:48:15 +02:00
|
|
|
unsigned int m_fs_flags; /* capability flags returned by FS */
|
2012-02-13 16:28:04 +01:00
|
|
|
struct vnode *m_mounted_on; /* vnode on which the partition is mounted */
|
|
|
|
struct vnode *m_root_node; /* root vnode */
|
2010-01-13 00:08:50 +01:00
|
|
|
char m_label[LABEL_MAX]; /* label of the file system process */
|
2012-11-22 23:00:00 +01:00
|
|
|
char m_mount_path[PATH_MAX]; /* path on which vmnt is mounted */
|
2013-08-20 01:37:18 +02:00
|
|
|
char m_mount_dev[PATH_MAX]; /* device from which vmnt is mounted */
|
|
|
|
char m_fstype[FSTYPE_MAX]; /* file system type */
|
2013-08-20 01:39:47 +02:00
|
|
|
struct statvfs_cache m_stats; /* cached file system statistics */
|
2006-10-25 15:40:36 +02:00
|
|
|
} vmnt[NR_MNTS];
|
|
|
|
|
2012-02-13 16:28:04 +01:00
|
|
|
/* vmnt flags */
|
|
|
|
#define VMNT_READONLY 01 /* Device mounted readonly */
|
|
|
|
#define VMNT_CALLBACK 02 /* FS did back call */
|
|
|
|
#define VMNT_MOUNTING 04 /* Device is being mounted */
|
|
|
|
#define VMNT_FORCEROOTBSF 010 /* Force usage of none-device */
|
2013-08-20 01:39:47 +02:00
|
|
|
#define VMNT_CANSTAT 020 /* Include FS in getvfsstat output */
|
2012-02-13 16:28:04 +01:00
|
|
|
|
|
|
|
/* vmnt lock types mapping */
|
|
|
|
#define VMNT_READ TLL_READ
|
|
|
|
#define VMNT_WRITE TLL_READSER
|
|
|
|
#define VMNT_EXCL TLL_WRITE
|
|
|
|
|
|
|
|
#endif
|