Re: Solaris cloning woes partly diagnosed
- From
- H. Peter Anvin <hpa@zytor.com>
- Date
- Apr 4, 2006, 18:21 UTC
- Message-ID
- <4432B923.7040202@zytor.com>
- In-Reply-To
- <Pine.LNX.4.64.0604021118210.3050@g5.osdl.org>
Linus Torvalds wrote:
Show 10 quoted lines
> > One thing to do might be to make the itimer use a much higher frequency, > to trigger the problem more easily. > > We do, for example, expect that regular file writing not do that. At least > "write_sha1_from_fd()" will just do a "write()" without testing the error > return, which is bad (it would silently create a truncated object if the > /tmp filesystem filled up). If somebody has their filesystem over NFS > mounted interruptible, partial writes could also happen. >
There seems to be a whole bunch of places where we use naked write()s where xwrite or fwrite would be a lot more appropriate. The ssh-* files seem to be particularly offensive in that way.
There are also a number of places which call xwrite with the apparent belief that returning short is an error (e.g. blame.c). This as far as I know the more common definition of xwrite(), but is *not* the one used in git -- the one in git only guarantees that at least one character is written.
-hpa