touch(1) not working on directories in an msdosfs(5) envirement

Vadim Goncharov vadim_nuclight at mail.ru
Thu Aug 25 21:06:44 UTC 2011


Hi Bruce Evans! 

On Wed, 24 Aug 2011 02:19:56 +1000 (EST); Bruce Evans wrote about 'Re: touch(1) not working on directories in an msdosfs(5) envirement':

>>> The above is only the least serious of the bugs in msdosfs_setattr() :-(.
>>> With the above fix, plain touch works as well as possible -- it cannot
>>> work perfectly since setting of atimes is not always supported.  But
>>> touch -r and more importantly, cp -p only work as well as possible for
>>> root, since they use utimes() without the null timeptr arg that allows
>>> plain touch to work.  A non-null timeptr arg ends up normally requiring
>>> root permissions for msdosfs where it normally doesn't require extra
>>> permissions for ffs, because ownership requirements for the non-null case
>>> cannot be satisfied by file systems that don't really support ownerships.
>>> We fudge the ownerships and use weak checks on them  in most places, but
>>> for utimes() we use strict checks that almost always fail: from my old
>>> version:
>>
>> So, now the usual case of not touching directory times on change is preserved,
>> but cp -r et al. sets times as expected? Sounds good, could it be committed
>> please?
> Yes, cp -p works but only if the user is root or the owner of the file.
> Someone else will have to commit it.

Umm... but why not you?..

-- 
WBR, Vadim Goncharov. ICQ#166852181       mailto:vadim_nuclight at mail.ru
[Anti-Greenpeace][Sober FreeBSD zealot][http://nuclight.livejournal.com]



More information about the freebsd-fs mailing list