• NeilBrown's avatar
    [PATCH] knfsd: fix type mismatch with filldir_t used by nfsd. · dbd2bd73
    NeilBrown authored
    nfsd defines a type 'encode_dent_fn' which is much like 'filldir_t'
    except that the first pointer is 'struct readdir_cd *' rather than
    'void *'.  It then casts encode_dent_fn points to 'filldir_t' as
    needed.  This hides any other type mismatches between the two such as
    the fact that the 'ino' arg recently changed from ino_t to u64.
    
    So: get rid of 'encode_dent_fn', get rid of the cast of the function
    type, change the first arg of various functions from 'struct readdir_cd *'
    to 'void *', and live with the fact that we have a little less type
    checking on the calling of these functions now.
    Less internal (to nfsd) checking offset by more external checking, which
    is more important.
    
    Thanks to Gabriel Paubert <paubert@iram.es> for discovering this and
    providing an initial patch.
    Signed-off-by: default avatarGabriel Paubert <paubert@iram.es>
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
    dbd2bd73
vfs.c 46.9 KB