Lines Matching refs:nd
193 struct nameidata nd;
201 NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | AUDITVNODE1, UIO_USERSPACE,
203 if ((error = namei(&nd)) != 0)
205 NDFREE_PNBUF(&nd);
206 mp = nd.ni_vp->v_mount;
208 vput(nd.ni_vp);
331 struct nameidata nd;
334 NDINIT(&nd, LOOKUP, FOLLOW | AUDITVNODE1, pathseg, path);
335 error = namei(&nd);
338 NDFREE_PNBUF(&nd);
339 mp = vfs_ref_from_vp(nd.ni_vp);
340 vrele(nd.ni_vp);
948 struct nameidata nd;
951 NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1,
953 if ((error = namei(&nd)) != 0)
955 if ((error = change_dir(nd.ni_vp, td)) != 0) {
956 vput(nd.ni_vp);
957 NDFREE_PNBUF(&nd);
960 VOP_UNLOCK(nd.ni_vp);
961 NDFREE_PNBUF(&nd);
962 pwd_chdir(td, nd.ni_vp);
1020 struct nameidata nd;
1023 NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1,
1025 error = namei(&nd);
1028 NDFREE_PNBUF(&nd);
1029 error = kern_chroot(td, nd.ni_vp);
1168 struct nameidata nd;
1208 NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | AUDITVNODE1 | WANTIOCTLCAPS,
1211 error = vn_open_cred(&nd, &flags, cmode, VN_OPEN_WANTIOCTLCAPS,
1231 if ((nd.ni_resflags & NIRES_STRICTREL) == 0 &&
1244 NDFREE_PNBUF(&nd);
1245 vp = nd.ni_vp;
1278 NDFREE_IOCTLCAPS(&nd);
1288 if ((nd.ni_resflags & NIRES_STRICTREL) != 0)
1289 fcaps = &nd.ni_filecaps;
1299 NDFREE_IOCTLCAPS(&nd);
1307 NDFREE_IOCTLCAPS(&nd);
1397 struct nameidata nd;
1422 NDPREINIT(&nd);
1425 NDINIT_ATRIGHTS(&nd, CREATE, LOCKPARENT | AUDITVNODE1 | NOCACHE,
1427 if ((error = namei(&nd)) != 0)
1429 vp = nd.ni_vp;
1431 NDFREE_PNBUF(&nd);
1432 if (vp == nd.ni_dvp)
1433 vrele(nd.ni_dvp);
1435 vput(nd.ni_dvp);
1438 } else if ((vn_irflag_read(nd.ni_dvp) & VIRF_NAMEDDIR) != 0) {
1439 NDFREE_PNBUF(&nd);
1440 vput(nd.ni_dvp);
1463 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
1464 NDFREE_PNBUF(&nd);
1465 vput(nd.ni_dvp);
1472 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp,
1473 &nd.ni_cnd, &vattr);
1477 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE);
1479 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp,
1480 &nd.ni_cnd, &vattr);
1483 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 && !whiteout ? &nd.ni_vp : NULL,
1486 NDFREE_PNBUF(&nd);
1530 struct nameidata nd;
1534 NDPREINIT(&nd);
1537 NDINIT_ATRIGHTS(&nd, CREATE, LOCKPARENT | AUDITVNODE1 | NOCACHE,
1539 if ((error = namei(&nd)) != 0)
1541 if (nd.ni_vp != NULL) {
1542 NDFREE_PNBUF(&nd);
1543 if (nd.ni_vp == nd.ni_dvp)
1544 vrele(nd.ni_dvp);
1546 vput(nd.ni_dvp);
1547 vrele(nd.ni_vp);
1550 if ((vn_irflag_read(nd.ni_dvp) & VIRF_NAMEDDIR) != 0) {
1551 NDFREE_PNBUF(&nd);
1552 vput(nd.ni_dvp);
1555 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
1556 NDFREE_PNBUF(&nd);
1557 vput(nd.ni_dvp);
1566 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd,
1571 error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr);
1575 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true);
1577 NDFREE_PNBUF(&nd);
1660 struct nameidata nd;
1667 NDPREINIT(&nd);
1670 NDINIT_ATRIGHTS(&nd, LOOKUP, AUDITVNODE1 | at2cnpflags(flag,
1673 if ((error = namei(&nd)) != 0)
1675 NDFREE_PNBUF(&nd);
1676 if ((nd.ni_resflags & NIRES_EMPTYPATH) != 0) {
1679 vrele(nd.ni_vp);
1683 error = kern_linkat_vp(td, nd.ni_vp, fd2, path2, segflag);
1692 struct nameidata nd;
1704 NDINIT_ATRIGHTS(&nd, CREATE,
1707 if ((error = namei(&nd)) == 0) {
1708 if (nd.ni_vp != NULL) {
1709 NDFREE_PNBUF(&nd);
1710 if (nd.ni_dvp == nd.ni_vp)
1711 vrele(nd.ni_dvp);
1713 vput(nd.ni_dvp);
1714 vrele(nd.ni_vp);
1717 } else if (nd.ni_dvp->v_mount != vp->v_mount) {
1723 NDFREE_PNBUF(&nd);
1724 vput(nd.ni_dvp);
1732 nd.ni_dvp, vp, &nd.ni_cnd);
1736 vput(nd.ni_dvp);
1737 NDFREE_PNBUF(&nd);
1743 vput(nd.ni_dvp);
1744 NDFREE_PNBUF(&nd);
1751 error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd);
1752 VOP_VPUT_PAIR(nd.ni_dvp, &vp, true);
1754 NDFREE_PNBUF(&nd);
1757 vput(nd.ni_dvp);
1758 NDFREE_PNBUF(&nd);
1808 struct nameidata nd;
1820 NDPREINIT(&nd);
1823 NDINIT_ATRIGHTS(&nd, CREATE, LOCKPARENT | AUDITVNODE1 | NOCACHE, segflg,
1825 if ((error = namei(&nd)) != 0)
1827 if (nd.ni_vp) {
1828 NDFREE_PNBUF(&nd);
1829 if (nd.ni_vp == nd.ni_dvp)
1830 vrele(nd.ni_dvp);
1832 vput(nd.ni_dvp);
1833 vrele(nd.ni_vp);
1834 nd.ni_vp = NULL;
1838 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
1839 NDFREE_PNBUF(&nd);
1840 vput(nd.ni_dvp);
1845 if ((vn_irflag_read(nd.ni_dvp) & VIRF_NAMEDDIR) != 0) {
1853 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd,
1858 error = VOP_SYMLINK(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr, syspath);
1862 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true);
1864 NDFREE_PNBUF(&nd);
1885 struct nameidata nd;
1888 NDPREINIT(&nd);
1891 NDINIT(&nd, DELETE, LOCKPARENT | DOWHITEOUT | AUDITVNODE1,
1893 error = namei(&nd);
1897 if (nd.ni_vp != NULLVP || !(nd.ni_cnd.cn_flags & ISWHITEOUT)) {
1898 NDFREE_PNBUF(&nd);
1899 if (nd.ni_vp == nd.ni_dvp)
1900 vrele(nd.ni_dvp);
1902 vput(nd.ni_dvp);
1903 if (nd.ni_vp)
1904 vrele(nd.ni_vp);
1907 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
1908 NDFREE_PNBUF(&nd);
1909 vput(nd.ni_dvp);
1914 error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE);
1915 NDFREE_PNBUF(&nd);
1916 vput(nd.ni_dvp);
1991 struct nameidata nd;
2002 NDPREINIT(&nd);
2005 NDINIT_ATRIGHTS(&nd, DELETE, LOCKPARENT | LOCKLEAF | AUDITVNODE1 |
2008 if ((error = namei(&nd)) != 0) {
2013 vp = nd.ni_vp;
2035 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
2036 NDFREE_PNBUF(&nd);
2037 vput(nd.ni_dvp);
2038 if (vp == nd.ni_dvp)
2049 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp,
2050 &nd.ni_cnd);
2054 error = VOP_REMOVE(nd.ni_dvp, vp, &nd.ni_cnd);
2060 NDFREE_PNBUF(&nd);
2061 vput(nd.ni_dvp);
2062 if (vp == nd.ni_dvp)
2207 struct nameidata nd;
2231 NDINIT_ATRIGHTS(&nd, LOOKUP, LOCKSHARED | LOCKLEAF |
2234 if ((error = namei(&nd)) != 0)
2236 vp = nd.ni_vp;
2239 NDFREE_PNBUF(&nd);
2517 struct nameidata nd;
2524 NDINIT_ATRIGHTS(&nd, LOOKUP, at2cnpflags(flag, AT_RESOLVE_BENEATH |
2528 if ((error = namei(&nd)) != 0) {
2530 (nd.ni_resflags & NIRES_EMPTYPATH) != 0)
2534 error = VOP_STAT(nd.ni_vp, sbp, td->td_ucred, NOCRED);
2535 NDFREE_PNBUF(&nd);
2536 vput(nd.ni_vp);
2678 struct nameidata nd;
2681 NDINIT(&nd, LOOKUP, LOCKSHARED | LOCKLEAF | AUDITVNODE1 | flags,
2683 if ((error = namei(&nd)) != 0)
2685 NDFREE_PNBUF(&nd);
2687 error = VOP_PATHCONF(nd.ni_vp, name, valuep);
2688 vput(nd.ni_vp);
2730 struct nameidata nd;
2736 NDINIT_AT(&nd, LOOKUP, NOFOLLOW | LOCKSHARED | LOCKLEAF | AUDITVNODE1 |
2739 if ((error = namei(&nd)) != 0)
2741 NDFREE_PNBUF(&nd);
2742 vp = nd.ni_vp;
2879 struct nameidata nd;
2887 NDINIT_ATRIGHTS(&nd, LOOKUP, at2cnpflags(atflag, AT_SYMLINK_NOFOLLOW |
2890 if ((error = namei(&nd)) != 0)
2892 NDFREE_PNBUF(&nd);
2893 error = setfflags(td, nd.ni_vp, flags);
2894 vrele(nd.ni_vp);
3010 struct nameidata nd;
3018 NDINIT_ATRIGHTS(&nd, LOOKUP, at2cnpflags(flag, AT_SYMLINK_NOFOLLOW |
3021 if ((error = namei(&nd)) != 0)
3023 NDFREE_PNBUF(&nd);
3024 error = setfmode(td, td->td_ucred, nd.ni_vp, mode);
3025 vrele(nd.ni_vp);
3122 struct nameidata nd;
3130 NDINIT_ATRIGHTS(&nd, LOOKUP, at2cnpflags(flag, AT_SYMLINK_NOFOLLOW |
3134 if ((error = namei(&nd)) != 0)
3136 NDFREE_PNBUF(&nd);
3137 error = setfown(td, td->td_ucred, nd.ni_vp, uid, gid);
3138 vrele(nd.ni_vp);
3342 struct nameidata nd;
3348 NDINIT_ATRIGHTS(&nd, LOOKUP, FOLLOW | AUDITVNODE1, pathseg, path, fd,
3351 if ((error = namei(&nd)) != 0)
3353 NDFREE_PNBUF(&nd);
3354 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL);
3355 vrele(nd.ni_vp);
3381 struct nameidata nd;
3386 NDINIT(&nd, LOOKUP, NOFOLLOW | AUDITVNODE1, pathseg, path);
3387 if ((error = namei(&nd)) != 0)
3389 NDFREE_PNBUF(&nd);
3390 error = setutimes(td, nd.ni_vp, ts, 2, tptr == NULL);
3391 vrele(nd.ni_vp);
3487 struct nameidata nd;
3497 NDINIT_ATRIGHTS(&nd, LOOKUP, at2cnpflags(flag, AT_SYMLINK_NOFOLLOW |
3500 if ((error = namei(&nd)) != 0)
3508 NDFREE_PNBUF(&nd);
3510 error = setutimes(td, nd.ni_vp, ts, 2, flags & UTIMENS_NULL);
3511 vrele(nd.ni_vp);
3539 struct nameidata nd;
3544 NDPREINIT(&nd);
3546 NDINIT(&nd, LOOKUP, FOLLOW | AUDITVNODE1, pathseg, path);
3547 if ((error = namei(&nd)) != 0)
3549 vp = nd.ni_vp;
3550 NDFREE_PNBUF(&nd);
3900 struct nameidata nd;
3904 NDPREINIT(&nd);
3907 NDINIT_ATRIGHTS(&nd, CREATE, LOCKPARENT | AUDITVNODE1 |
3910 if ((error = namei(&nd)) != 0)
3912 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
3913 NDFREE_PNBUF(&nd);
3914 vput(nd.ni_dvp);
3919 if ((vn_irflag_read(nd.ni_dvp) & VIRF_NAMEDDIR) != 0) {
3927 error = mac_vnode_check_create(td->td_ucred, nd.ni_dvp, &nd.ni_cnd,
3932 error = VOP_MKDIR(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr);
3934 NDFREE_PNBUF(&nd);
3935 VOP_VPUT_PAIR(nd.ni_dvp, error == 0 ? &nd.ni_vp : NULL, true);
3965 struct nameidata nd;
3977 NDPREINIT(&nd);
3980 NDINIT_ATRIGHTS(&nd, DELETE, LOCKPARENT | LOCKLEAF | AUDITVNODE1 |
3983 if ((error = namei(&nd)) != 0)
3985 vp = nd.ni_vp;
3993 if (nd.ni_dvp == vp) {
4014 error = mac_vnode_check_unlink(td->td_ucred, nd.ni_dvp, vp,
4015 &nd.ni_cnd);
4019 if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) {
4020 NDFREE_PNBUF(&nd);
4022 if (nd.ni_dvp == vp)
4023 vrele(nd.ni_dvp);
4025 vput(nd.ni_dvp);
4030 error = VOP_RMDIR(nd.ni_dvp, nd.ni_vp, &nd.ni_cnd);
4033 NDFREE_PNBUF(&nd);
4035 if (nd.ni_dvp == vp)
4036 vrele(nd.ni_dvp);
4038 vput(nd.ni_dvp);
4353 struct nameidata nd;
4356 NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | AUDITVNODE1, UIO_USERSPACE,
4358 if ((error = namei(&nd)) != 0)
4360 vp = nd.ni_vp;
4361 NDFREE_PNBUF(&nd);
4509 struct nameidata nd;
4519 NDINIT_AT(&nd, LOOKUP, at2cnpflags(flags, AT_SYMLINK_NOFOLLOW |
4522 error = namei(&nd);
4525 NDFREE_PNBUF(&nd);
4526 vp = nd.ni_vp;