Re: Your CVS fix 1.109 to union_vnops.c

From: <takawata_at_jp.freebsd.org>
Date: Sun, 03 Oct 2004 23:29:08 +0900
In message <415FC1A1.3020502_at_geminix.org>, Uwe Doering wrote:
>Hi there,
>
>with regard to your above mentioned fix you may be interested in reading 
>this short discussion, especially my answer to the original article:
>
>http://docs.freebsd.org/cgi/getmsg.cgi?fetch=116615+0+archive/2004/freebsd-stable/20040613.freebsd-stable

Thank you for your comment.

The code is what nullfs do.


static int
null_getattr(ap)
        struct vop_getattr_args /* {
                struct vnode *a_vp;
                struct vattr *a_vap;
                struct ucred *a_cred;
                struct thread *a_td;
        } */ *ap;
{
        int error;

        if ((error = null_bypass((struct vop_generic_args *)ap)) != 0)
                return (error);

        ap->a_vap->va_fsid = ap->a_vp->v_mount->mnt_stat.f_fsid.val[0];
        return (0);
}

I'm pleased if you explain why it is done
for nullfs and not for unionfs, if any.
IMHO, there are not so much advantage in assuming 
exactly same file exists in different filesystem,
if the entity is same.

But I want to hear from FS gurus. 
I found that I reverted the change at CVS rev  1.62.
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/fs/unionfs/union_vnops.c.diff?r1=1.61&r2=1.62
Received on Sun Oct 03 2004 - 12:30:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:15 UTC