Date: Sun, 29 Aug 2010 02:29:40 -0500 (CDT) From: Robert Bonomi <bonomi@mail.r-bonomi.com> To: bonomi@mail.r-bonomi.com, dnelson@allantgroup.com Cc: kamikaze@bsdforen.de, freebsd-questions@freebsd.org Subject: Re: change file creation time on msdosfs Message-ID: <201008290729.o7T7Tew3027097@mail.r-bonomi.com>
next in thread | raw e-mail | index | archive | help
> From dan@dan.emsphone.com Fri Aug 27 23:38:08 2010 > Date: Fri, 27 Aug 2010 22:51:47 -0500 > From: Dan Nelson <dnelson@allantgroup.com> > To: Robert Bonomi <bonomi@mail.r-bonomi.com> > Cc: freebsd-questions@freebsd.org, kamikaze@bsdforen.de > Subject: Re: change file creation time on msdosfs > > In the last episode (Aug 27), Robert Bonomi said: > > > From owner-freebsd-questions@freebsd.org Thu Aug 26 14:33:04 2010 > > > Date: Thu, 26 Aug 2010 21:06:04 +0200 > > > From: Dominic Fandrey <kamikaze@bsdforen.de> > > > To: freebsd-questions@freebsd.org > > > Subject: change file creation time on msdosfs > > > > > > I need to change the file creation time of some files on an msdosfs file > > > system. > > > > > > Is there any other way to do this than copying the file and deleting the > > > original? > > > > There are _always_ alternative ways. With suffficient knowledge, oue > > could, for example, use 'dd' to copy the required two bytes to the > > appropriate position on the raw device holding the filesystem. This > > approach is, however, not likely to be at all 'reasonable' for the average > > user. > > > > > The usual suspects like touch and mv do not work. > > > > yup. 'creation' timestamp is intended to be more-or-less immutable in the > > Unix world. And that 'viewpoint' carries over to other kinds of > > filesysems grafted onto a Unix host. > > No; the utimes() syscall can be used to easily set the creation time (called > birth time so it doesn't get confused with the "ctime" file metadata change > time). More likely is that whoever added birthtime to ufs didn't bother > updating the msdosfs code. If one of the other BSD's has implemented it, it > should be relatively easy to import the changes. Otherwise you'll probably > have to look at how birthtime is currently handled in ufs, and make it work > in msdosfs. I repeat my previous. it is intended to be 'more-or-less' immutable. The FFS designers recognized that there would be occasions where it was _necessary_ to do so, and built the capability into the OS. The *omission* of user-tools that use that hook is/was =intentional=. A means of saying 'you really *shouldn't* do this", without absolutely prohibiting it. It _isn't_ "impossbile", but the 'bar' is deliberately/intentionally out of the reach of the casual user. A backup/resture utility has good reason to muck with the 'birth date', but hardly anything else does.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008290729.o7T7Tew3027097>