minix/servers/vfs/vmnt.h
Ben Gras 44f34e53d5 VFS: Implement REQ_BPEEK.
This commit introduces a new request type called REQ_BPEEK. It
requests minor device blocks from the FS.  Analogously to REQ_PEEK,
it requests the filesystem to get the requested blocks into its
cache, without actually copying the result anywhere.

Change-Id: If1d06645b0e17553a64b3167091e9d12efeb3d6f
2013-04-24 10:18:16 +00:00

33 lines
1 KiB
C

#ifndef __VFS_VMNT_H__
#define __VFS_VMNT_H__
#include "tll.h"
#include "comm.h"
EXTERN struct vmnt {
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 */
struct vnode *m_mounted_on; /* vnode on which the partition is mounted */
struct vnode *m_root_node; /* root vnode */
char m_label[LABEL_MAX]; /* label of the file system process */
char m_mount_path[PATH_MAX]; /* path on which vmnt is mounted */
char m_mount_dev[PATH_MAX]; /* path on which vmnt is mounted */
int m_haspeek; /* supports REQ_PEEK, REQ_BPEEK */
} vmnt[NR_MNTS];
/* 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 */
/* vmnt lock types mapping */
#define VMNT_READ TLL_READ
#define VMNT_WRITE TLL_READSER
#define VMNT_EXCL TLL_WRITE
#endif