Lines Matching full:mp
28 static void OsMpDeleteFromList(struct TagMountPoint *mp) in OsMpDeleteFromList() argument
32 if (g_mountPoints == mp) { in OsMpDeleteFromList()
33 g_mountPoints = mp->mNext; in OsMpDeleteFromList()
38 if (prev->mNext != mp) { in OsMpDeleteFromList()
42 prev->mNext = mp->mNext; in OsMpDeleteFromList()
84 struct TagMountPoint *mp = g_mountPoints; in OsVfsFindMp() local
98 while ((mp != NULL) && (mp->mPath != NULL)) { in OsVfsFindMp()
99 matches = OsVfsFindMpByPath(mp->mPath, path); in OsVfsFindMp()
102 bestMp = mp; in OsVfsFindMp()
113 mp = mp->mNext; in OsVfsFindMp()
130 static void OsVfsFreeMp(struct TagMountPoint *mp) in OsVfsFreeMp() argument
132 if (mp == NULL) { in OsVfsFreeMp()
135 if (mp->mPath != NULL) { in OsVfsFreeMp()
136 free((void *)mp->mPath); in OsVfsFreeMp()
138 if (mp->mDev != NULL) { in OsVfsFreeMp()
139 free((void *)mp->mDev); in OsVfsFreeMp()
141 free(mp); in OsVfsFreeMp()
149 struct TagMountPoint *mp = NULL; in OsVfsMount() local
158 mp = OsVfsFindMp(target, &pathInMp); in OsVfsMount()
159 if (mp != NULL && pathInMp != NULL) { in OsVfsMount()
170 mp = (struct TagMountPoint *)malloc(sizeof(struct TagMountPoint)); in OsVfsMount()
171 if (mp == NULL) { in OsVfsMount()
175 if (memset_s(mp, sizeof(struct TagMountPoint), 0, sizeof(struct TagMountPoint)) != EOK) { in OsVfsMount()
176 free(mp); in OsVfsMount()
181 mp->mFs = mFs; in OsVfsMount()
182 mp->mDev = NULL; in OsVfsMount()
184 mp->mDev = strdup(source); in OsVfsMount()
185 if (mp->mDev == NULL) { in OsVfsMount()
186 OsVfsFreeMp(mp); in OsVfsMount()
191 mp->mPath = strdup(target); in OsVfsMount()
192 if (mp->mPath == NULL) { in OsVfsMount()
193 OsVfsFreeMp(mp); in OsVfsMount()
198 ret = mp->mFs->fsMops->mount(mp, mountflags, data); in OsVfsMount()
200 OsVfsFreeMp(mp); in OsVfsMount()
204 mp->mRefs = 0; in OsVfsMount()
205 mp->mWriteEnable = (mountflags & MS_RDONLY) ? FALSE : TRUE; in OsVfsMount()
206 mp->mFs->fsRefs++; in OsVfsMount()
207 mp->mNext = g_mountPoints; in OsVfsMount()
208 g_mountPoints = mp; in OsVfsMount()
215 struct TagMountPoint *mp = NULL; in OsVfsUmount() local
224 mp = OsVfsFindMp(target, &pathInMp); in OsVfsUmount()
225 if ((mp == NULL) || (mp->mRefs != 0) || in OsVfsUmount()
226 (mp->mFs == NULL) || (mp->mFs->fsMops == NULL) || in OsVfsUmount()
227 (mp->mFs->fsMops->umount == NULL)) { in OsVfsUmount()
232 ret = mp->mFs->fsMops->umount(mp); in OsVfsUmount()
238 OsMpDeleteFromList(mp); in OsVfsUmount()
239 mp->mFs->fsRefs--; in OsVfsUmount()
240 free((void *)mp->mPath); in OsVfsUmount()
241 free((void *)mp->mDev); in OsVfsUmount()
242 free(mp); in OsVfsUmount()
248 static void OsCloseFdsInMp(struct TagMountPoint *mp) in OsCloseFdsInMp() argument
255 if ((f->fMp == mp) && in OsCloseFdsInMp()
264 struct TagMountPoint *mp = NULL; in OsVfsUmount2() local
273 mp = OsVfsFindMp(target, &pathInMp); in OsVfsUmount2()
274 if ((mp == NULL) || (mp->mRefs != 0) || in OsVfsUmount2()
275 (mp->mFs == NULL) || (mp->mFs->fsMops == NULL) || in OsVfsUmount2()
276 (mp->mFs->fsMops->umount2 == NULL)) { in OsVfsUmount2()
283 OsCloseFdsInMp(mp); in OsVfsUmount2()
286 ret = mp->mFs->fsMops->umount2(mp, flag); in OsVfsUmount2()
292 OsMpDeleteFromList(mp); in OsVfsUmount2()
293 mp->mFs->fsRefs--; in OsVfsUmount2()
294 free((void *)mp->mPath); in OsVfsUmount2()
295 free((void *)mp->mDev); in OsVfsUmount2()
296 free(mp); in OsVfsUmount2()