• Show log

    Commit

  • Hash : 9ccdb211
    Author : Brodie Rao
    Date : 2013-08-13T10:55:37

    fileops: stat() before open()ing in git_futils_readbuffer_updated()
    
    This reverts refactoring done in 13224ea4aad9a1b3c9cc4c992ceaea9af623e047
    that introduces a performance regression for NFS when reading files that
    don't exist. open() forces a cache invalidation on NFS, while stat()ing a
    file just uses the cache and is very quick.
    
    To give a specific example, say you have a repo with a thousand packed
    refs. Before this change, looking up every single one ould incur a thousand
    slow open() calls. With this change, it's a thousand fast stat() calls.