Deleted Added
full compact
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 ---