• Steven Whitehouse's avatar
    GFS2: Only do one directory search on create · 5a00f3cc
    Steven Whitehouse authored
    Creation of a new inode requires a directory search in order to ensure
    that we are not trying to create an inode with the same name as an
    existing one. This was hidden away inside the create_ok() function.
    
    In the case that there was an existing inode, and a lookup can be
    substituted for a create (which is the case with regular files
    when the O_EXCL flag is not in use) then we were doing a second
    lookup in order to return the inode.
    
    This patch merges these two lookups into one. This can be done by
    passing a flag to gfs2_dir_search() to tell it to just return -EEXIST
    in the cases where we don't actually want to look up the inode.
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    5a00f3cc
inode.c 40.8 KB