Re: unremovable files and possible fs corruption (2.1.123)

Theodore Y. Ts'o (tytso@mit.edu)
Fri, 9 Oct 1998 10:50:39 -0400


Path: there.is.no.cabal
From: o.r.c@p.e.l.l.p.o.r.t.l.a.n.d.o.r.u.s (david parsons)

>But now that glibc is around, it should be pretty easy to add this field
>to struct stat, and then add the chflags system call.

And what will this do to code that's already built and shipping?
It seems like promiscuously adding records to a published structure
is a recipe for Bad Things.

glibc (and the latest binutils) has support for versioned symbols, so we
can cleanly and transparently add a new version of a function that
returns an expanded structure without breaking older programs that were
linked with the older version of glibc. They will simply see the old
version of stat().

A chflags() call that takes a union of special flags would be a much
less destructive way of adding the new functionality.

Sure, a new system call is easier to do, and would allow people to use
the new functionality without forcing an upgrade to the library. But
given that the BSD interface is relatively clean, I'd like to support it
in the long run. There's no reason to be gratuitously different.

- Ted

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/