cd9660_node.c (3106) | cd9660_node.c (3396) |
---|---|
1/*- 2 * Copyright (c) 1982, 1986, 1989, 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley 6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 7 * Support code is derived from software contributed to Berkeley 8 * by Atsushi Murai (amurai@spec.co.jp). --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)cd9660_node.c 8.2 (Berkeley) 1/23/94 | 1/*- 2 * Copyright (c) 1982, 1986, 1989, 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley 6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 7 * Support code is derived from software contributed to Berkeley 8 * by Atsushi Murai (amurai@spec.co.jp). --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)cd9660_node.c 8.2 (Berkeley) 1/23/94 |
39 * $Id: cd9660_node.c,v 1.5 1994/09/22 19:37:43 wollman Exp $ | 39 * $Id: cd9660_node.c,v 1.6 1994/09/26 00:32:56 gpalmer Exp $ |
40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/mount.h> 45#include <sys/proc.h> 46#include <sys/file.h> 47#include <sys/buf.h> --- 143 unchanged lines hidden (view full) --- 191loop: 192 for (ip = ih->ih_chain[0]; 193 ip != (struct iso_node *)ih; 194 ip = ip->i_forw) { 195 if (ino != ip->i_number || dev != ip->i_dev) 196 continue; 197 if ((ip->i_flag&ILOCKED) != 0) { 198 ip->i_flag |= IWANT; | 40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/mount.h> 45#include <sys/proc.h> 46#include <sys/file.h> 47#include <sys/buf.h> --- 143 unchanged lines hidden (view full) --- 191loop: 192 for (ip = ih->ih_chain[0]; 193 ip != (struct iso_node *)ih; 194 ip = ip->i_forw) { 195 if (ino != ip->i_number || dev != ip->i_dev) 196 continue; 197 if ((ip->i_flag&ILOCKED) != 0) { 198 ip->i_flag |= IWANT; |
199 sleep((caddr_t)ip, PINOD); | 199 (void) tsleep((caddr_t)ip, PINOD, "isoigt", 0); |
200 goto loop; 201 } 202 if (vget(ITOV(ip), 1)) 203 goto loop; 204 *ipp = ip; 205 return 0; 206 } 207 /* --- 209 unchanged lines hidden (view full) --- 417 register struct iso_node *ip; 418{ 419 420 while (ip->i_flag & ILOCKED) { 421 ip->i_flag |= IWANT; 422 if (ip->i_spare0 == curproc->p_pid) 423 panic("locking against myself"); 424 ip->i_spare1 = curproc->p_pid; | 200 goto loop; 201 } 202 if (vget(ITOV(ip), 1)) 203 goto loop; 204 *ipp = ip; 205 return 0; 206 } 207 /* --- 209 unchanged lines hidden (view full) --- 417 register struct iso_node *ip; 418{ 419 420 while (ip->i_flag & ILOCKED) { 421 ip->i_flag |= IWANT; 422 if (ip->i_spare0 == curproc->p_pid) 423 panic("locking against myself"); 424 ip->i_spare1 = curproc->p_pid; |
425 (void) sleep((caddr_t)ip, PINOD); | 425 (void) tsleep((caddr_t)ip, PINOD, "isoilk", 0); |
426 } 427 ip->i_spare1 = 0; 428 ip->i_spare0 = curproc->p_pid; 429 ip->i_flag |= ILOCKED; 430 return (0); 431} 432 433/* --- 218 unchanged lines hidden --- | 426 } 427 ip->i_spare1 = 0; 428 ip->i_spare0 = curproc->p_pid; 429 ip->i_flag |= ILOCKED; 430 return (0); 431} 432 433/* --- 218 unchanged lines hidden --- |