Date: Sat, 01 Nov 2003 09:34:47 -0000 From: Bruce Evans <bde@zeta.org.au> To: Bruce Evans <bde@freebsd.org> Cc: cvs-all@freebsd.org Subject: Re: cvs commit: src/usr.sbin/mtree compare.c Message-ID: <20031101203313.D3593@gamplex.bde.org> In-Reply-To: <200311010843.hA18hsAg001012@repoman.freebsd.org> References: <200311010843.hA18hsAg001012@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 1 Nov 2003, Bruce Evans wrote: > bde 2003/11/01 00:43:54 PST > > FreeBSD src repository > > Modified files: > usr.sbin/mtree compare.c > Log: > Fixed breakage of my world in rev.1.30. #include <sys/time.h> instead of > depending on namespace pollution in <sys/stat.h> for the declarations of > struct timeval and utimes(). > > Fixed some style bugs in rev.1.30 and some nearby style bugs (mainly > unsorting and missing or extra blank lines). > > Removed a wrong comment that was obtained from NetBSD in rev.1.14. It said > that chflags() reset the times that were set "above" by utimes(), but > utimes wasn't "above" in FreeBSD until rev.1.30, and chflags() does't > actually reset the times. > > Revision Changes Path > 1.31 +9 -13 src/usr.sbin/mtree/compare.c This doesn't fix any of the more fundamental bugs in rev.1.30: - setting modtimes cannot make the times match the spec in general, since we record and compare times in nanoseconds but can only set them in microseconds. - the modtime setting should have been obained from NetBSD for compatibility and correctness. NetBSD (a 2-3 month old version) only sets the modtimes if an the undocumented -t option is specified. It reduces the previous bug by only comparing times in microseconds (or seconds for the non-BSD_4_4 case). - the access time is clobbered by setting it to the modtime. NetBSD also has options to control setting of file flags. Its -i (set schg and/or sappnd) is very incompatible with FreeBSD's -i (indent 4 spaces). Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031101203313.D3593>