Date: Sun, 10 Dec 2000 09:28:43 -0800 From: Julian Elischer <julian@elischer.org> To: Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: arch@FreeBSD.ORG Subject: Re: inheriting the "nodump" flag ? Message-ID: <3A33BD4B.B078C3E3@elischer.org> References: <98900.976464081@critter>
next in thread | previous in thread | raw e-mail | index | archive | help
Poul-Henning Kamp wrote: > > In message <97286.976447504@critter>, Poul-Henning Kamp writes: > > > >I don't know how many of you know or even use the "nodump" file flag. > > > >It's utility is somewhat limited by the fact that it is not > >inherited from the parent directory. > > > >I like to mark my cvs tree as "nodump", there is no point in backing > >it up for me. > > > >Unfortunately, since the nodump flag is not inherited on creation > >I need to run "chflags -R nodump /home/ncvs" first every time I want > >to make a backup. > > > >I would like to propose that directories and files inherit the > >nodump flag if it is set on the directory they are created in. > > > >Comments ? protests ? > > Attached is the surprisingly simple patch to implement this in ufs. I think this badly breaks POLA and I am actively against it. As a default behaviour it is bad because: All files get broken up into several classes: 1/ old files in such a directory (dumped) 2/ new files in such a directory (not dumped) 3/ any files in an old subdirectory (dumped) 4/ any files in a new subdirectory (not dumped) This behaviour is not intuitive to the average user who will expect a 'don't dump' on a directory to prune that directory from the dump contents. to fix it you must ALWAYS do a chflags -R which is an extra step which can easily be |forgotten leading to confusion. the answer is to fix DUMP, or use `find . -flags ....|cpio` DUMP is the odd man out here by having a broken tree walker. If anyone else suggested this you'd be screaming bloody murder. > > Index: ufs/ufs/ufs_vnops.c > =================================================================== > RCS file: /home/ncvs/src/sys/ufs/ufs/ufs_vnops.c,v > retrieving revision 1.154 > diff -u -r1.154 ufs_vnops.c > --- ufs/ufs/ufs_vnops.c 2000/11/04 08:10:56 1.154 > +++ ufs/ufs/ufs_vnops.c 2000/12/10 15:30:25 > @@ -1355,6 +1355,7 @@ > #endif > #endif /* !SUIDDIR */ > ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE; > + ip->i_flags |= (dp->i_flags & UF_NODUMP); > ip->i_mode = dmode; > tvp->v_type = VDIR; /* Rest init'd in getnewvnode(). */ > ip->i_effnlink = 2; > @@ -2071,6 +2072,7 @@ > return (error); > ip = VTOI(tvp); > ip->i_gid = pdir->i_gid; > + ip->i_flags |= (pdir->i_flags & UF_NODUMP); > #ifdef SUIDDIR > { > #ifdef QUOTA > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@FreeBSD.ORG | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe > Never attribute to malice what can adequately be explained by incompetence. > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-arch" in the body of the message -- __--_|\ Julian Elischer / \ julian@elischer.org ( OZ ) World tour 2000 ---> X_.---._/ presently in: Budapest v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A33BD4B.B078C3E3>