plan 9 kernel history: overview | file list | diff list

1993/1115/port/chan.c (diff list | history)

1993/1114/sys/src/9/port/chan.c:168,1761993/1115/sys/src/9/port/chan.c:168,176 (short | long | prev | next)
1993/0501    
mount(Chan *new, Chan *old, int flag, char *spec) 
1990/0227    
{ 
	Pgrp *pg; 
1993/0501    
	int order; 
1991/1011    
	Mount *nm, *f; 
1993/1115    
	int order, flg; 
1991/1011    
	Mhead *m, **l; 
1993/1115    
	Mount *nm, *f, *um, **h; 
1990/0227    
 
1990/11211    
	if(CHDIR & (old->qid.path^new->qid.path)) 
		error(Emount); 
1993/1114/sys/src/9/port/chan.c:210,2171993/1115/sys/src/9/port/chan.c:210,227
1991/1011    
	} 
 
1993/0501    
	nm = newmount(m, new, flag, spec); 
1993/1115    
	if(new->mnt != 0) { 
		h = &nm->next; 
		for(um = new->mnt->next; um; um = um->next) { 
			flg = um->flag; 
			if(flg == 0) 
				flg = MAFTER; 
			f = newmount(m, um->to, flg, um->spec); 
			*h = f; 
			h = &f->next; 
		} 
	} 
1993/0501    
 
                 
1990/0227    
	if(flag & MCREATE) 
		new->flag |= CCREATE; 
 
1993/1114/sys/src/9/port/chan.c:221,2271993/1115/sys/src/9/port/chan.c:231,239
1991/1011    
		f->next = nm; 
	} 
	else { 
		nm->next = m->mount; 
1993/1115    
		for(f = nm; f->next; f = f->next) 
			; 
		f->next = m->mount; 
1991/1011    
		m->mount = nm; 
	} 
1990/0227    
 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)