Deleted Added
full compact
ext2_lookup.c (144299) ext2_lookup.c (145006)
1/*-
2 * modified for Lites 1.1
3 *
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
5 * University of Utah, Department of Computer Science
6 */
7/*-
8 * Copyright (c) 1989, 1993

--- 24 unchanged lines hidden (view full) ---

33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 * SUCH DAMAGE.
39 *
40 * @(#)ufs_lookup.c 8.6 (Berkeley) 4/1/94
1/*-
2 * modified for Lites 1.1
3 *
4 * Aug 1995, Godmar Back (gback@cs.utah.edu)
5 * University of Utah, Department of Computer Science
6 */
7/*-
8 * Copyright (c) 1989, 1993

--- 24 unchanged lines hidden (view full) ---

33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 * SUCH DAMAGE.
39 *
40 * @(#)ufs_lookup.c 8.6 (Berkeley) 4/1/94
41 * $FreeBSD: head/sys/gnu/fs/ext2fs/ext2_lookup.c 144299 2005-03-29 13:09:42Z jeff $
41 * $FreeBSD: head/sys/gnu/fs/ext2fs/ext2_lookup.c 145006 2005-04-13 10:59:09Z jeff $
42 */
43
44#include <sys/param.h>
45#include <sys/systm.h>
46#include <sys/namei.h>
47#include <sys/bio.h>
48#include <sys/buf.h>
49#include <sys/mount.h>

--- 601 unchanged lines hidden (view full) ---

651 * implementing a sophisticated deadlock detection algorithm.
652 * Note also that this simple deadlock detection scheme will not
653 * work if the file system has any hard links other than ".."
654 * that point backwards in the directory structure.
655 */
656 pdp = vdp;
657 if (flags & ISDOTDOT) {
658 VOP_UNLOCK(pdp, 0, td); /* race to get the inode */
42 */
43
44#include <sys/param.h>
45#include <sys/systm.h>
46#include <sys/namei.h>
47#include <sys/bio.h>
48#include <sys/buf.h>
49#include <sys/mount.h>

--- 601 unchanged lines hidden (view full) ---

651 * implementing a sophisticated deadlock detection algorithm.
652 * Note also that this simple deadlock detection scheme will not
653 * work if the file system has any hard links other than ".."
654 * that point backwards in the directory structure.
655 */
656 pdp = vdp;
657 if (flags & ISDOTDOT) {
658 VOP_UNLOCK(pdp, 0, td); /* race to get the inode */
659 if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, LK_EXCLUSIVE,
660 &tdp)) != 0) {
661 vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td);
659 error = VFS_VGET(vdp->v_mount, dp->i_ino, LK_EXCLUSIVE, &tdp);
660 vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td);
661 if (error != 0)
662 return (error);
662 return (error);
663 }
664 *vpp = tdp;
665 } else if (dp->i_number == dp->i_ino) {
666 VREF(vdp); /* we want ourself, ie "." */
667 *vpp = vdp;
668 } else {
669 if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, LK_EXCLUSIVE,
670 &tdp)) != 0)
671 return (error);

--- 410 unchanged lines hidden ---
663 *vpp = tdp;
664 } else if (dp->i_number == dp->i_ino) {
665 VREF(vdp); /* we want ourself, ie "." */
666 *vpp = vdp;
667 } else {
668 if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, LK_EXCLUSIVE,
669 &tdp)) != 0)
670 return (error);

--- 410 unchanged lines hidden ---