• David Howells's avatar
    afs: Fix order-1 allocation in afs_do_lookup() · 87182759
    David Howells authored
    afs_do_lookup() will do an order-1 allocation to allocate status records if
    there are more than 39 vnodes to stat.
    
    Fix this by allocating an array of {status,callback} records for each vnode
    we want to examine using vmalloc() if larger than a page.
    
    This not only gets rid of the order-1 allocation, but makes it easier to
    grow beyond 50 records for YFS servers.  It also allows us to move to
    {status,callback} tuples for other calls too and makes it easier to lock
    across the application of the status and the callback to the vnode.
    
    Fixes: 5cf9dd55 ("afs: Prospectively look up extra files when doing a single lookup")
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    87182759
afs.h 6.85 KB