• Dave Wysochanski's avatar
    NFSv4: Fix fscache cookie aux_data to ensure change_attr is included · 50eaa652
    Dave Wysochanski authored
    Commit 402cb8dd ("fscache: Attach the index key and aux data to
    the cookie") added the aux_data and aux_data_len to parameters to
    fscache_acquire_cookie(), and updated the callers in the NFS client.
    In the process it modified the aux_data to include the change_attr,
    but missed adding change_attr to a couple places where aux_data was
    used.  Specifically, when opening a file and the change_attr is not
    added, the following attempt to lookup an object will fail inside
    cachefiles_check_object_xattr() = -116 due to
    nfs_fscache_inode_check_aux() failing memcmp on auxdata and returning
    FSCACHE_CHECKAUX_OBSOLETE.
    
    Fix this by adding nfs_fscache_update_auxdata() to set the auxdata
    from all relevant fields in the inode, including the change_attr.
    
    Fixes: 402cb8dd ("fscache: Attach the index key and aux data to the cookie")
    Signed-off-by: default avatarDave Wysochanski <dwysocha@redhat.com>
    Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
    50eaa652
fscache.c 14.1 KB