null_vnops.c (a0f40f54aac1268e2abf151d4042948613cdf1b2) null_vnops.c (6bdfe06ad9337a33a402bc933006265c30980780)
1/*
2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * John Heidemann of the UCLA Ficus project.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

367 * LOCKLEAF flags. However, it is more expidient to just find
368 * out the state of the lower level vnodes and set ours to the
369 * same state.
370 */
371 dvp = ap->a_dvp;
372 vp = *ap->a_vpp;
373 if (dvp == vp)
374 return (error);
1/*
2 * Copyright (c) 1992, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * John Heidemann of the UCLA Ficus project.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

367 * LOCKLEAF flags. However, it is more expidient to just find
368 * out the state of the lower level vnodes and set ours to the
369 * same state.
370 */
371 dvp = ap->a_dvp;
372 vp = *ap->a_vpp;
373 if (dvp == vp)
374 return (error);
375 if (!VOP_ISLOCKED(dvp)) {
375 if (!VOP_ISLOCKED(dvp, NULL)) {
376 unlockargs.a_vp = dvp;
377 unlockargs.a_flags = 0;
378 unlockargs.a_p = p;
379 vop_nounlock(&unlockargs);
380 }
376 unlockargs.a_vp = dvp;
377 unlockargs.a_flags = 0;
378 unlockargs.a_p = p;
379 vop_nounlock(&unlockargs);
380 }
381 if (vp != NULLVP && VOP_ISLOCKED(vp)) {
381 if (vp != NULLVP && VOP_ISLOCKED(vp, NULL)) {
382 lockargs.a_vp = vp;
383 lockargs.a_flags = LK_SHARED;
384 lockargs.a_p = p;
385 vop_nolock(&lockargs);
386 }
387 return (error);
388}
389

--- 221 unchanged lines hidden ---
382 lockargs.a_vp = vp;
383 lockargs.a_flags = LK_SHARED;
384 lockargs.a_p = p;
385 vop_nolock(&lockargs);
386 }
387 return (error);
388}
389

--- 221 unchanged lines hidden ---