Re: [REGRESSION] NFSv4: open(O_TRUNC) hangs

From: Miklos Szeredi
Date: Fri Apr 06 2012 - 05:43:25 EST


"Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> writes:

> The following client patch fixes the regression for me.

It fixes the hang, but it still doesn't work 100% correctly. Try the
following test program.

BTW, do you run any fs test suits? All these were caught with one I use
to quick test fuse (it's in the fuse git tree(*) under the "test"
directory). But I guess others like LTP would catch these as well.

Thanks,
Miklos

(*) git://fuse.git.sourceforge.net/gitroot/fuse/fuse
---

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>

int main(int argc, char *argv[])
{
int res;
char *name = argv[1];

unlink(name);
close(creat(name, 0400));
res = open(name, O_RDONLY | O_TRUNC);
if (res != -1 && errno != EPERM)
fprintf(stderr, "should have failed!\n");

return 0;
}
--
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/