• Mike Marshall's avatar
    orangefs: posix open permission checking... · f9bbb682
    Mike Marshall authored
    Orangefs has no open, and orangefs checks file permissions
    on each file access. Posix requires that file permissions
    be checked on open and nowhere else. Orangefs-through-the-kernel
    needs to seem posix compliant.
    
    The VFS opens files, even if the filesystem provides no
    method. We can see if a file was successfully opened for
    read and or for write by looking at file->f_mode.
    
    When writes are flowing from the page cache, file is no
    longer available. We can trust the VFS to have checked
    file->f_mode before writing to the page cache.
    
    The mode of a file might change between when it is opened
    and IO commences, or it might be created with an arbitrary mode.
    
    We'll make sure we don't hit EACCES during the IO stage by
    using UID 0. Some of the time we have access without changing
    to UID 0 - how to check?
    Signed-off-by: default avatarMike Marshall <hubcap@omnibond.com>
    f9bbb682
inode.c 29.1 KB