• M. Mohan Kumar's avatar
    fs/9p: Fix atomic_open · b6f4bee0
    M. Mohan Kumar authored
    Return EEXISTS if requested file already exists, without this patch open
    call will always succeed even if the file exists and user specified
    O_CREAT|O_EXCL.
    
    Following test code can be used to verify this patch. Without this patch
    executing following test code on 9p mount will result in printing 'test case
    failed' always.
    
    main()
    {
            int fd;
    
            /* first create the file */
            fd = open("./file", O_CREAT|O_WRONLY);
            if (fd < 0) {
                    perror("open");
                    return -1;
            }
            close(fd);
    
            /* Now opening same file with O_CREAT|O_EXCL should fail */
            fd = open("./file", O_CREAT|O_EXCL);
            if (fd < 0 && errno == EEXIST)
    	        printf("test case pass\n");
            else
    	        printf("test case failed\n");
            close(fd);
            return 0;
    }
    Signed-off-by: default avatarM. Mohan Kumar <mohan@in.ibm.com>
    Signed-off-by: default avatarEric Van Hensbergen <ericvh@gmail.com>
    b6f4bee0
vfs_inode_dotl.c 25.5 KB