ISLASTCN
if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
if ((flags & ISLASTCN) && nameiop == LOOKUP)
if (lockparent && (flags & ISLASTCN)) {
if (!lockparent || !(flags & ISLASTCN)) {
if ((flags & ISLASTCN) && nameiop == LOOKUP)
if (!(flags & LOCKPARENT) || !(flags & ISLASTCN)) {
if ((flags & ISLASTCN) &&
.cn_flags = ISLASTCN | ISDOTDOT | RDONLY,
(cnp->cn_flags & ISLASTCN) == 0) {
if (!error && (~cnp->cn_flags & (LOCKPARENT|ISLASTCN)) == 0) {
if (error || (~cnp->cn_flags & (LOCKPARENT|ISLASTCN)) != 0) {
(~cnp->cn_flags & (LOCKPARENT|ISLASTCN)) != 0) {
cn.cn_flags = ISLASTCN | ISDOTDOT | RDONLY;
(cnp->cn_flags & ISLASTCN) &&
if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN))
cnp->cn_flags |= ISLASTCN;
cnp->cn_flags |= ISLASTCN;
cnp->cn_flags &= ~ISLASTCN;
cnp->cn_flags |= ISLASTCN;
if (!(cnp->cn_flags & ISLASTCN)) {
if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN) &&
if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN))
(flags & ISLASTCN)) {
if (nameiop == DELETE && (flags & ISLASTCN)) {
if (nameiop == RENAME && wantparent && (flags & ISLASTCN)) {
if (lockparent && (flags & ISLASTCN)) {
if (!lockparent || !(flags & ISLASTCN)) {
if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
(flags & ISLASTCN))
(flags & ISLASTCN) && dp->de_refcnt != 0) {
if (nameiop == DELETE && (flags & ISLASTCN)) {
(flags & ISLASTCN)) {
if (lockparent && (flags & ISLASTCN)) {
if (!lockparent || !(flags & ISLASTCN)) {
if (lockparent && (flags & ISLASTCN)) {
if (!lockparent || !(flags & ISLASTCN)) {
if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN))
(cnp->cn_nameiop != DELETE || !(flags & ISLASTCN))) {
(flags & ISLASTCN) && error == ENOENT) {
if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN))
if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) &&
if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN))
if ((!lockparent || !(flags & ISLASTCN)) &&
if (cnp->cn_nameiop == RENAME && wantparent && (flags & ISLASTCN)) {
if ((cnp->cn_flags & ISLASTCN) &&
if ((cnp->cn_flags & ISLASTCN) &&
if (lockparent && (cnp->cn_flags & ISLASTCN)) {
if(!lockparent || (cnp->cn_flags & ISLASTCN) == 0) {
const int lastcn = (cnp->cn_flags & ISLASTCN) != 0;
if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
if ((nameiop == CREATE || nameiop == RENAME) && (flags & ISLASTCN)) {
(flags & ISLASTCN) && dp->i_e2fs_nlink != 0) {
if ((flags & ISLASTCN) && nameiop == LOOKUP)
if (nameiop == DELETE && (flags & ISLASTCN)) {
if (nameiop == RENAME && wantparent && (flags & ISLASTCN)) {
if (lockparent && (flags & ISLASTCN)) {
if (!lockparent || !(flags & ISLASTCN)) {
if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
(flags & ISLASTCN)) {
(flags & ISLASTCN) && dp->i_effnlink != 0) {
if ((flags & ISLASTCN) && nameiop == LOOKUP)
if (nameiop == DELETE && (flags & ISLASTCN)) {
(flags & ISLASTCN)) {
if (lockparent && (flags & ISLASTCN)) {
if (!lockparent || !(flags & ISLASTCN)) {