Message types for VFS readsuper
Change-Id: I7aea85d9842459ea454420bb1687d9b8eb597914
This commit is contained in:
@@ -19,21 +19,21 @@ int fs_readsuper(void)
|
||||
{
|
||||
struct vattr *root_va;
|
||||
|
||||
fs_dev = fs_m_in.REQ_DEV;
|
||||
is_readonly_fs = (fs_m_in.REQ_FLAGS & REQ_RDONLY) ? 1 : 0;
|
||||
is_root_fs = (fs_m_in.REQ_FLAGS & REQ_ISROOT) ? 1 : 0;
|
||||
fs_dev = fs_m_in.m_vfs_fs_readsuper.device;
|
||||
is_readonly_fs = (fs_m_in.m_vfs_fs_readsuper.flags & REQ_RDONLY) ? 1 : 0;
|
||||
is_root_fs = (fs_m_in.m_vfs_fs_readsuper.flags & REQ_ISROOT) ? 1 : 0;
|
||||
|
||||
/* Open root pnode */
|
||||
global_pu->pu_pn_root->pn_count = 1;
|
||||
|
||||
/* Root pnode properties */
|
||||
root_va = &global_pu->pu_pn_root->pn_va;
|
||||
fs_m_out.RES_INODE_NR = root_va->va_fileid;
|
||||
fs_m_out.RES_MODE = root_va->va_mode;
|
||||
fs_m_out.RES_FILE_SIZE = root_va->va_size;
|
||||
fs_m_out.RES_UID = root_va->va_uid;
|
||||
fs_m_out.RES_GID = root_va->va_gid;
|
||||
fs_m_out.RES_FLAGS = RES_NOFLAGS;
|
||||
fs_m_out.m_fs_vfs_readsuper.inode = root_va->va_fileid;
|
||||
fs_m_out.m_fs_vfs_readsuper.mode = root_va->va_mode;
|
||||
fs_m_out.m_fs_vfs_readsuper.file_size = root_va->va_size;
|
||||
fs_m_out.m_fs_vfs_readsuper.uid = root_va->va_uid;
|
||||
fs_m_out.m_fs_vfs_readsuper.gid = root_va->va_gid;
|
||||
fs_m_out.m_fs_vfs_readsuper.flags = RES_NOFLAGS;
|
||||
|
||||
return(OK);
|
||||
}
|
||||
|
||||
@@ -23,16 +23,16 @@ int do_readsuper(void)
|
||||
int r;
|
||||
|
||||
dprintf(("%s: readsuper (dev %x, flags %x)\n",
|
||||
sffs_name, m_in.REQ_DEV, m_in.REQ_FLAGS));
|
||||
sffs_name, m_in.m_vfs_fs_readsuper.device, m_in.vfs_fs_readsuper.flags));
|
||||
|
||||
if (m_in.REQ_FLAGS & REQ_ISROOT) {
|
||||
if (m_in.m_vfs_fs_readsuper.flags & REQ_ISROOT) {
|
||||
printf("%s: attempt to mount as root device\n", sffs_name);
|
||||
|
||||
return EINVAL;
|
||||
}
|
||||
|
||||
state.s_read_only = !!(m_in.REQ_FLAGS & REQ_RDONLY);
|
||||
state.s_dev = m_in.REQ_DEV;
|
||||
state.s_read_only = !!(m_in.m_vfs_fs_readsuper.flags & REQ_RDONLY);
|
||||
state.s_dev = m_in.m_vfs_fs_readsuper.device;
|
||||
|
||||
init_dentry();
|
||||
ino = init_inode();
|
||||
@@ -55,13 +55,13 @@ int do_readsuper(void)
|
||||
return r;
|
||||
}
|
||||
|
||||
m_out.RES_INODE_NR = INODE_NR(ino);
|
||||
m_out.RES_MODE = get_mode(ino, attr.a_mode);
|
||||
m_out.RES_FILE_SIZE = attr.a_size;
|
||||
m_out.RES_UID = sffs_params->p_uid;
|
||||
m_out.RES_GID = sffs_params->p_gid;
|
||||
m_out.RES_DEV = NO_DEV;
|
||||
m_out.RES_FLAGS = RES_64BIT;
|
||||
m_out.m_fs_vfs_readsuper.inode = INODE_NR(ino);
|
||||
m_out.m_fs_vfs_readsuper.mode = get_mode(ino, attr.a_mode);
|
||||
m_out.m_fs_vfs_readsuper.file_size = attr.a_size;
|
||||
m_out.m_fs_vfs_readsuper.uid = sffs_params->p_uid;
|
||||
m_out.m_fs_vfs_readsuper.gid = sffs_params->p_gid;
|
||||
m_out.m_fs_vfs_readsuper.device = NO_DEV;
|
||||
m_out.m_fs_vfs_readsuper.flags = RES_64BIT;
|
||||
|
||||
state.s_mounted = TRUE;
|
||||
|
||||
|
||||
@@ -12,10 +12,10 @@ int fs_readsuper(void)
|
||||
struct inode *root;
|
||||
|
||||
/* Get the device number, for stat requests. */
|
||||
fs_dev = fs_m_in.REQ_DEV;
|
||||
fs_dev = fs_m_in.m_vfs_fs_readsuper.device;
|
||||
|
||||
/* The VTreeFS must not be mounted as a root file system. */
|
||||
if (fs_m_in.REQ_FLAGS & REQ_ISROOT)
|
||||
if (fs_m_in.m_vfs_fs_readsuper.flags & REQ_ISROOT)
|
||||
return EINVAL;
|
||||
|
||||
/* Get the root inode and increase its reference count. */
|
||||
@@ -27,13 +27,13 @@ int fs_readsuper(void)
|
||||
vtreefs_hooks->init_hook();
|
||||
|
||||
/* Return the root inode's properties. */
|
||||
fs_m_out.RES_INODE_NR = get_inode_number(root);
|
||||
fs_m_out.RES_MODE = root->i_stat.mode;
|
||||
fs_m_out.RES_FILE_SIZE = root->i_stat.size;
|
||||
fs_m_out.RES_UID = root->i_stat.uid;
|
||||
fs_m_out.RES_GID = root->i_stat.gid;
|
||||
fs_m_out.RES_DEV = NO_DEV;
|
||||
fs_m_out.RES_FLAGS = RES_NOFLAGS;
|
||||
fs_m_out.m_fs_vfs_readsuper.inode = get_inode_number(root);
|
||||
fs_m_out.m_fs_vfs_readsuper.mode = root->i_stat.mode;
|
||||
fs_m_out.m_fs_vfs_readsuper.file_size = root->i_stat.size;
|
||||
fs_m_out.m_fs_vfs_readsuper.uid = root->i_stat.uid;
|
||||
fs_m_out.m_fs_vfs_readsuper.gid = root->i_stat.gid;
|
||||
fs_m_out.m_fs_vfs_readsuper.device = NO_DEV;
|
||||
fs_m_out.m_fs_vfs_readsuper.flags = RES_NOFLAGS;
|
||||
|
||||
fs_mounted = TRUE;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user