devfs_vnops.c (144389) | devfs_vnops.c (145006) |
---|---|
1/*- 2 * Copyright (c) 2000-2004 3 * Poul-Henning Kamp. All rights reserved. 4 * Copyright (c) 1989, 1992-1993, 1995 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software donated to Berkeley by 8 * Jan-Simon Pendry. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * 31 * @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95 32 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43 33 * | 1/*- 2 * Copyright (c) 2000-2004 3 * Poul-Henning Kamp. All rights reserved. 4 * Copyright (c) 1989, 1992-1993, 1995 5 * The Regents of the University of California. All rights reserved. 6 * 7 * This code is derived from software donated to Berkeley by 8 * Jan-Simon Pendry. --- 17 unchanged lines hidden (view full) --- 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * 31 * @(#)kernfs_vnops.c 8.15 (Berkeley) 5/21/95 32 * From: FreeBSD: src/sys/miscfs/kernfs/kernfs_vnops.c 1.43 33 * |
34 * $FreeBSD: head/sys/fs/devfs/devfs_vnops.c 144389 2005-03-31 12:19:44Z phk $ | 34 * $FreeBSD: head/sys/fs/devfs/devfs_vnops.c 145006 2005-04-13 10:59:09Z jeff $ |
35 */ 36 37/* 38 * TODO: 39 * remove empty directories 40 * mknod: hunt down DE_DELETED, compare name, reinstantiate. 41 * mkdir: want it ? 42 */ --- 570 unchanged lines hidden (view full) --- 613 if (flags & ISDOTDOT) { 614 if ((flags & ISLASTCN) && nameiop != LOOKUP) 615 return (EINVAL); 616 VOP_UNLOCK(dvp, 0, td); 617 de = TAILQ_FIRST(&dd->de_dlist); /* "." */ 618 de = TAILQ_NEXT(de, de_list); /* ".." */ 619 de = de->de_dir; 620 error = devfs_allocv(de, dvp->v_mount, vpp, td); | 35 */ 36 37/* 38 * TODO: 39 * remove empty directories 40 * mknod: hunt down DE_DELETED, compare name, reinstantiate. 41 * mkdir: want it ? 42 */ --- 570 unchanged lines hidden (view full) --- 613 if (flags & ISDOTDOT) { 614 if ((flags & ISLASTCN) && nameiop != LOOKUP) 615 return (EINVAL); 616 VOP_UNLOCK(dvp, 0, td); 617 de = TAILQ_FIRST(&dd->de_dlist); /* "." */ 618 de = TAILQ_NEXT(de, de_list); /* ".." */ 619 de = de->de_dir; 620 error = devfs_allocv(de, dvp->v_mount, vpp, td); |
621 if (error) 622 vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); | 621 vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); |
623 return (error); 624 } 625 626 devfs_populate(dmp); 627 dd = dvp->v_data; 628 TAILQ_FOREACH(de, &dd->de_dlist, de_list) { 629 if (cnp->cn_namelen != de->de_dirent->d_namlen) 630 continue; --- 858 unchanged lines hidden --- | 622 return (error); 623 } 624 625 devfs_populate(dmp); 626 dd = dvp->v_data; 627 TAILQ_FOREACH(de, &dd->de_dlist, de_list) { 628 if (cnp->cn_namelen != de->de_dirent->d_namlen) 629 continue; --- 858 unchanged lines hidden --- |