Re: [PATCH] cowlinks v2

Pavel Machek
2004-03-29T17:16:29Z

Hi!

> > What happens if the disk fills while you are making the copy? Will
> > open(2) on an *existing file* then return ENOSPC?
>
> Correct. It would be possible to always succeed and return -ENOSPC
> on every write(). But then mmap() has the same problem again, so
> serious headache would be the only gain from this little excercise.

> > I do not think you can implement this without changing the interface
> > to open(2). Which means applications have to be made aware of it
> > anyway. Which means you might as well leave your implementation as-is
> > and let userspace worry about creating the copy (and dealing with the
> > resulting errors).
>
> Good point. Vote is now 2:0 for the simple approach.

Well, 99% need no special handling on ENOSPC during open just
now. However, implementing file copying to each one would be serious
headache.

Applications can not be sure that it is existing file. If you
do stat followed by open, someone may have removed the file in
between. So it is not so new case.
Pavel
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]