From owner-FreeBSD-tech-jp@jp.freebsd.org  Mon Sep  1 08:59:47 1997
Received: by jaz.jp.freebsd.org (8.8.7+2.7Wbeta7/8.7.3) id IAA29007
	Mon, 1 Sep 1997 08:59:47 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.7+2.7Wbeta7/8.7.3) with ESMTP id IAA29002
	for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 1 Sep 1997 08:59:45 +0900 (JST)
Received: from mailsv.nec.co.jp ([133.200.254.203])
	by TYO9.gate.nec.co.jp (8.8.7+2.7Wbeta6/3.6Wbeta697082713) with ESMTP id IAA01567
	for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 1 Sep 1997 08:58:39 +0900 (JST)
Received: from ssse15.sss.abk.nec.co.jp (ssse15.sss.abk.nec.co.jp [133.206.64.65]) by mailsv.nec.co.jp (8.8.5+2.7Wbeta5/3.4W-97062018) with ESMTP
	id IAA14170 for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 1 Sep 1997 08:58:38 +0900 (JST)
Received: from sssfw.sss.abk.nec.co.jp (sssfw [133.206.64.1]) by ssse15.sss.abk.nec.co.jp (8.7.5+2.6Wbeta6/CF3.3W9-SSS_M950609) with ESMTP id IAA02132 for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 1 Sep 1997 08:58:52 +0900 (JST)
Received: by sssfw.sss.abk.nec.co.jp (8.7.5+2.6Wbeta6/3.4W2) id IAA07907 for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 1 Sep 1997 08:58:16 +0900 (JST)
Received: from p28.sss.abk.nec.co.jp by e2.sss.abk.nec.co.jp (8.7.6+2.6Wbeta7/3.3W9-NEC) id IAA24461; Mon, 1 Sep 1997 08:58:53 +0900 (JST)
Received: from localhost (localhost [127.0.0.1]) by p28.sss.abk.nec.co.jp (8.8.5/3.4W403/27/97) with SMTP id IAA00384 for <FreeBSD-tech-jp@jp.freebsd.org>; Mon, 1 Sep 1997 08:58:48 +0900 (JST)
Message-Id: <199708312358.IAA00384@p28.sss.abk.nec.co.jp>
X-Authentication-Warning: p28.sss.abk.nec.co.jp: localhost [127.0.0.1] didn't use HELO protocol
To: FreeBSD-tech-jp@jp.freebsd.org
From: h-nokubi@nmit.tmg.nec.co.jp
In-reply-to: Your message of "Sat, 16 Aug 1997 23:10:30 JST."
             <199708161410.XAA00443@gneiss.eps.nagoya-u.ac.jp> 
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=ISO-2022-JP
Date: Mon, 01 Sep 1997 08:58:47 +0900
Reply-To: FreeBSD-tech-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=20]
X-Sequence: FreeBSD-tech-jp 564
Subject: [FreeBSD-tech-jp 564] Re: unionfs rdonly mount 
Errors-To: owner-FreeBSD-tech-jp@jp.freebsd.org
Sender: owner-FreeBSD-tech-jp@jp.freebsd.org

> Message-Id: <199708161410.XAA00443@gneiss.eps.nagoya-u.ac.jp>
> From: KATO Takenori <kato@ganko.eps.nagoya-u.ac.jp>
> Date: Sat, 16 Aug 1997 23:10:30 +0900

> union filesystem$B$O(Brdonly$B$G%^%&%s%H$G$-$J$$(B(read-only$B$K$J$i$J$$(B)$B$N$G$9(B
> $B$,!$(Bunion fs$BAX$G(Bread-only mount$B$r%5%]!<%H$9$k%Q%C%A$r:n$j$^$7$?!%(B
> 
> union_lookup$B$N$H$3$m$,2x$7$$$N$G!$$I$J$?$+8+$F$b$i$($k$H=u$+$j$^$9!%(B

$B$o$1$o$+$i$s$G$9$,!"$H$j$"$($:(B ufs $B$H8+Hf$Y$F%A%i%C$HD/$a$F8+$^$7$?(B :-)
typo $B$G$O(B? $B$H$$$&$N$,$"$C$?$N$G(B $B$*CN$i$;$7$H$-$^$9(B
# $B$J$s$H$J$/;n$5$l$F$$$k$N$G$O(B? $B$J$I$H;W$C$F$7$^$U(B :-)

diff $B$N:G8e$N(B chunk $B$G(B
ap->a_vp->v_mount->mnt_flag * MNT_RDONLY
$B$H$d$C$F$^$9$,!"(B& $B$N4V0c$$$G$9$h$M!#$?$V$s!#(B
cut & paste $B$G$d$C$F$$$k$J$i$I$3$+$K$"$k86:n$b4V0c$C$F$$$k$o$1$G!"(B
$B$^$:$$$G$9$M!#(B

***************
*** 762,768 ****
--- 790,806 ----
  {
  	struct union_node *un = VTOUNION(ap->a_vp);
  	struct proc *p = ap->a_p;
+ 	struct vattr *vap = ap->a_vap;
  	int error;
+ 
+ 	/*
+ 	 * Disallow write attempts on filesystems mounted read-only.
+ 	 */
+ 	if ((ap->a_vp->v_mount->mnt_flag * MNT_RDONLY) &&
+ 		(vap->va_flags != VNOVAL || vap->va_uid != (uid_t)VNOVAL ||
+ 		 vap->va_gid != (gid_t)VNOVAL || vap->va_atime.tv_sec != VNOVAL ||
+ 		 vap->va_mtime.tv_sec != VNOVAL || vap->va_mode != (mode_t)VNOVAL))
+ 		return (EROFS);
  
  	/*
  	 * Handle case of truncating lower object to zero size,

> $B$=$l$H!$(Bunion_copyup$B$O(Brdonly$B$N$H$-$I$&$9$Y$-$+$K$D$$$F$b%"%I%P%$%9$r$b(B
> $B$i$($k$H=u$+$j$^$9!%(B

$B$&!<$`!#$3$NJ8>O$O=q$+$l$F$$$k;v$K5$$,$D$+$J$+$C$?(B :-)
$B5$$,$D$$$F$b$J$K$b%"%I%P%$%9$J$s$F$G$-$J$$$1$I(B :-)

$B$N$/$S!w#N#E#C%^%$%3%s%F%/%N%m%8(B
