454 struct Vnode *origin = NULL;
455 struct filelist *flist = &tg_filelist;
475 PRINT_ERR(
"unmount in fs failed, ret = %d, errno = %d\n", ret, errno);
481 origin->
flag &= ~(VNODE_FLAG_MOUNT_ORIGIN);
LITE_OS_SEC_ALW_INLINE STATIC INLINE VOID LOS_ListDelete(LOS_DL_LIST *node)
void free(void *ptr)
释放ptr所指向的内存空间
int sem_post(sem_t *sem)
增加信号量计数
int sem_wait(sem_t *sem)
获取信号量
举例: mount /dev/mmcblk0p0 /bin1/vs/sd vfat 将/dev/mmcblk0p0 挂载到/bin1/vs/sd目录
struct Vnode * vnodeBeCovered
const struct MountOps * ops
int(* Unmount)(struct Mount *mount, struct Vnode **blkdriver)
卸载分区
vnode并不包含文件名,因为 vnode和文件名是 1:N 的关系
ARG_NUM_3 ARG_NUM_1 ARG_NUM_2 ARG_NUM_2 ARG_NUM_3 ARG_NUM_1 ARG_NUM_4 ARG_NUM_2 ARG_NUM_2 ARG_NUM_5 ARG_NUM_2 void
int VnodeHold(void)
拿锁,封装互斥量
static void FileDisableAndClean(struct Mount *mnt)
static struct Mount * GetDevMountPoint(struct Vnode *dev)
static void VnodeTryFreeAll(struct Mount *mount)