open after unlink tries to open old file

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

 



I see this code

    #include <stdlib.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <unistd.h>

    #define FILENAME "test.dat"

    int main() {
        int i;
        int fd;
        unlink(FILENAME);
        for  (i=0;i<1000;i++) {
            printf("%d\n",i);
            if ((fd=open(FILENAME,O_WRONLY+O_CREAT,0))==-1) {
                perror("open");
                exit(1);
            }
            if (close(fd)==-1) {
                perror("close");
                exit(1);
            }
            if (unlink(FILENAME)==-1) {
                perror("unlink");
                exit(1);
            }
        }
    }

failing most of the time in NFS-mounted directories:

    buczek@theinternet:~$ uname -a
Linux theinternet.molgen.mpg.de 4.4.52.mx64.142 #1 SMP Fri Mar 3 21:25:00 CET 2017 x86_64 GNU/Linux
    buczek@theinternet:~$ nfs_test

    0
    1
    2
    3
    4
    open: Permission denied
    buczek@theinternet:~$

but I fail to find an answer to the question, whether this is supposed to work or not. Is this a bug or a caching feature?

Thanks
  Donald

--
Donald Buczek
buczek@xxxxxxxxxxxxx
Tel: +49 30 8413 1433





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



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux