Home | History | Annotate | Download | only in union

Lines Matching defs:um

112 	struct union_mount *um = 0;
128 um = MOUNTTOUNIONMOUNT(mp);
129 if (um == NULL)
132 args->mntflags = um->um_op;
165 um = kmem_zalloc(sizeof(*um), KM_SLEEP);
176 um->um_op = args->mntflags & UNMNT_OPMASK;
177 switch (um->um_op) {
179 um->um_lowervp = lowerrootvp;
180 um->um_uppervp = upperrootvp;
184 um->um_lowervp = upperrootvp;
185 um->um_uppervp = lowerrootvp;
191 um->um_uppervp = upperrootvp;
192 um->um_lowervp = lowerrootvp;
204 if (((um->um_lowervp == NULLVP) ||
205 (um->um_lowervp->v_mount->mnt_iflag & IMNT_MPSAFE)) &&
206 (um->um_uppervp->v_mount->mnt_iflag & IMNT_MPSAFE))
219 vn_lock(um->um_uppervp, LK_EXCLUSIVE | LK_RETRY);
220 error = VOP_WHITEOUT(um->um_uppervp, &nullcn, LOOKUP);
221 VOP_UNLOCK(um->um_uppervp);
226 um->um_cred = l->l_cred;
227 kauth_cred_hold(um->um_cred);
228 um->um_cmode = UN_DIRMODE &~ l->l_proc->p_cwdi->cwdi_cmask;
239 if (um->um_op == UNMNT_ABOVE) {
240 if (((um->um_lowervp == NULLVP) ||
241 (um->um_lowervp->v_mount->mnt_flag & MNT_LOCAL)) &&
242 (um->um_uppervp->v_mount->mnt_flag & MNT_LOCAL))
253 mp->mnt_flag |= (um->um_uppervp->v_mount->mnt_flag & MNT_RDONLY);
255 mp->mnt_data = um;
263 error = vfs_set_lowermount(mp, um->um_uppervp->v_mount);
267 switch (um->um_op) {
305 if (um) {
306 if (um->um_cred)
307 kauth_cred_free(um->um_cred);
308 kmem_free(um, sizeof(*um));
347 struct union_mount *um = MOUNTTOUNIONMOUNT(mp);
395 if (um->um_lowervp)
396 vrele(um->um_lowervp);
397 vrele(um->um_uppervp);
398 kauth_cred_free(um->um_cred);
402 kmem_free(um, sizeof(*um));
410 struct union_mount *um = MOUNTTOUNIONMOUNT(mp);
416 vref(um->um_uppervp);
417 if (um->um_lowervp)
418 vref(um->um_lowervp);
420 um->um_uppervp, um->um_lowervp, 1);
423 vrele(um->um_uppervp);
424 if (um->um_lowervp)
425 vrele(um->um_lowervp);
438 struct union_mount *um = MOUNTTOUNIONMOUNT(mp);
444 um->um_lowervp, um->um_uppervp);
447 if (um->um_lowervp) {
448 error = VFS_STATVFS(um->um_lowervp->v_mount, sbuf);
458 error = VFS_STATVFS(um->um_uppervp->v_mount, sbuf);
513 struct union_mount *um = MOUNTTOUNIONMOUNT(mp);
516 return VFS_RENAMELOCK_ENTER(um->um_uppervp->v_mount);
522 struct union_mount *um = MOUNTTOUNIONMOUNT(mp);
524 VFS_RENAMELOCK_EXIT(um->um_uppervp->v_mount);