Put it in the memory only area where it belongs
name += 2;
continue;
}
- temp = fs_tab[wd->c_super].m_fs.s_mntpt;
+ temp = fs_tab[wd->c_super].m_mntpt;
++temp->c_refs;
i_deref(wd);
wd = temp;
struct mount *m = &fs_tab[0];
for(j=0; j < NMOUNTS; ++j){
- if(m->m_dev != NO_DEVICE && m->m_fs.s_mntpt == ino) {
+ if(m->m_dev != NO_DEVICE && m->m_mntpt == ino) {
i_deref(ino);
return i_open(m->m_dev, ROOTINODE);
}
fp->s_fmod = FMOD_DIRTY;
else /* Clean in memory, don't write it back to media */
fp->s_fmod = FMOD_CLEAN;
- fp->s_mntpt = ino;
+ m->m_mntpt = ino;
if(ino)
++ino->c_refs;
m->m_flags = flags;
uint8_t s_shift; /* Extent size */
uint8_t s_reserved;
/* Below this is only used in memory so alignments don't matter */
- inoptr s_mntpt; /* Mount point */
/* TODO: Add geometry hints and support > 512 byte blocks */
} filesys, *fsptr;
struct mount {
uint16_t m_dev;
uint16_t m_flags;
+ inoptr m_mntpt; /* Mount point */
struct filesys m_fs;
};
#define MS_RDONLY 1
return 0;
}
- i_deref(mnt->m_fs.s_mntpt);
+ i_deref(mnt->m_mntpt);
/* Vanish the entry */
mnt->m_dev = NO_DEVICE;
return 0;