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 --- |