[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [SRM] Uploading new upstream stable version to Squeeze?



(-cc: -release)
Aurelien Jarno wrote:

> --- a/sysdeps/wordsize-64/tst-writev.c	(révision 0)
> +++ b/sysdeps/wordsize-64/tst-writev.c	(révision 14168)
> @@ -0,0 +1,107 @@
[...]
> +/* writev() should report that it has written EXPECTED number of bytes.  */
> +#define EXPECTED ((size_t) INT32_MAX + 1)
[...]
> +  /* Write junk to /dev/null with the writev syscall in order to get a return
> +     of INT32_MAX+1 bytes to verify that the INTERNAL_SYSCALL wrappers aren't
> +     mangling the result if the signbit of a 32-bit number is set.  */
> +  ssize_t ret = writev (fd, iv, IOV_MAX);
> +
> +  free (iv[0].iov_base);
> +  close (fd);
> +
> +  if (ret != (ssize_t) EXPECTED)

Just as a reminder, this would need the same workaround that was
applied in Bug#629862, to avoid test failures on machines running
Linux v2.6.37-rc1~40 (readv/writev: do the same MAX_RW_COUNT
truncation that read/write does, 2010-10-29) and later.

Has the testsuite bug been raised upstream?  It should be possible to
change the check to something like

	/* The kernel very well might refuse to write so much at once,
	   but any sane kernel will write at least a few kilobytes.  */
	if (ret < (size_t) 1024)

It would be good to clarify this and the analagous behavior for write()
in POSIX.


Reply to: