Date: Sun, 15 Dec 2002 14:24:31 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Nate Lawson <nate@root.org>, phk@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: setattr() syscall as proposed by phk Message-ID: <200212152224.gBFMOVAG098468@apollo.backplane.com> References: <Pine.BSF.4.21.0212151211031.44745-100000@root.org> <200212152111.gBFLB5WI093761@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
And, I will also add, in regards to using the stat structure for
setattr(), that it creates a serious portability problem as well as
a serious forward and reverse compatibility problem. Which fields
in the stat structure are going to be ignored by the syscall and
which are not? You don't know and there is no way to tell. What
happens when some of the modifying operations are allowed and some
aren't? There is no way to tell, there is no way to return an error
indicating where the problem is. How do you tell setattr() not
to modify certain fields? There is no way to do it other then to
store special values in the stat structure. What happens to forward
portability if the stat structure gets something you didn't know
existed and you don't want to change the new field? There is no way
to deal with it.
In short, using the stat structure for something like this is a bad
idea. The system call will wind up being one of those things that
we constantly break from release to release as new things come up.
If this is going to be done, it needs to be done properly, and
while the stat structure may give us instant gratification it will
only bite us in the ass down the line.
-Matt
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212152224.gBFMOVAG098468>
