Case sensitivity in NFS files

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

 



Hello,

I'm experiencing strange problem with case sensitivity of files on NFS3 
filesystem. I want to backup my server to a NAS device. The server is:
Linux rtime 2.6.25-gentoo-r8 #6 SMP Thu Oct 9 13:00:08 CEST 2008 i686
and NAS is:
Linux RtimeBackup 2.6.15 #722 Fri Sep 19 20:23:15 CST 2008 armv5tejl unknown

I would like to use rdiff-backup tool, which checks for case sensitivity of 
the target filesystem. The technique it uses to check this is the same as in 
this file:

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

int main()
{
        int fd;
        struct stat st;
        fd = open("A", O_WRONLY|O_CREAT|O_TRUNC, 0666);
        perror("1. open(A)"); errno=0;
        if (fd == -1) {
                exit(1);
        }
        close(fd);
        lstat("A", &st);
        perror("2. lstat(A)"); errno=0;
        lstat("a", &st);
        perror("3. lstat(a)"); errno=0;
        unlink("a");
        perror("4. unlink(a)"); errno=0;
        lstat("A", &st);
        perror("5. lstat(A)"); errno=0;
        lstat("a", &st);
        perror("6. lstat(a)"); errno=0;
}

The expected output of this program is:

1. open(A): Success
2. lstat(A): Success
3. lstat(a): No such file or directory
4. unlink(a): No such file or directory
5. lstat(A): Success
6. lstat(a): No such file or directory

On NFS, I sometimes get the following (neither "A" nor "a" files existed 
before execution):

1. open(A): Success
2. lstat(A): Success
3. lstat(a): Success
4. unlink(a): Success
5. lstat(A): Stale NFS file handle
6. lstat(a): No such file or directory

This happens when the program is run for the first time. When I run it for the 
second time, I get the expected output and file "A" is created. After I 
remove the A file, I get the "wrong" output again.

Does anybody know, what is causing this behavior?

Thanks
Michal

P.S.: Please CC me when replying.
--
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