NFS regression in 2.6

From: Ulrich Drepper
Date: Tue Aug 19 2003 - 13:43:39 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is a problem which pops up in the glibc test suite. It's been like
this for many weeks, even months. I just hadn't time to investigate.
But the problem is actually very easy.

Go into a directory mounted via NFS. You need write access. Then
execute this little program:

#include <errno.h>
#include <error.h>
#include <stdlib.h>
#include <unistd.h>
int
main (void)
{
char tmp[] = "estale-test.XXXXXX";
int fd = mkstemp (tmp);
if (fd == -1)
error (EXIT_FAILURE, errno, "mkstemp failed");
if (unlink (tmp) != 0)
error (EXIT_FAILURE, errno, "unlink '%s' failed", tmp);
int fd2 = dup (fd);
if (fd2 == -1)
error (EXIT_FAILURE, errno, "dup failed");
if (ftruncate (fd2, 0) != 0)
error (EXIT_FAILURE, errno, "ftruncate failed");
return 0;
}

The result is always, 100% of the time, a failure in ftruncate. The
kernel reports ESTALE. This has not been a problem in 2.4 and not even
in 2.6 until <mumble> months ago. And of course it works with local disks.

- --
- --------------. ,-. 444 Castro Street
Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA
Red Hat `--' drepper at redhat.com `---------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE/QmjB2ijCOnn/RHQRAhMhAJ94N+/b7G1jC6XVUOwCv0/rZyeeIgCdH2zg
JxbK7PqAuSMmUKQX76CjNVM=
=XUXf
-----END PGP SIGNATURE-----

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