• NeilBrown's avatar
    [PATCH] knfsd: Break the hard linkage from svc_expkey to svc_export · eab7e2e6
    NeilBrown authored
    Current svc_expkey holds a pointer to the svc_export structure, so updates to
    that structure have to be in-place, which is a wart on the whole cache
    infrastruct.  So we break that linkage and just do a second lookup.
    
    If this became a performance issue, it would be possible to put a direct link
    back in which was only used conditionally.  i.e.  when an object is replaced
    in the cache, we set a flag in the old object.  When dereferencing the link
    from svc_expkey, if the flag is set, we drop the reference and do a fresh
    lookup.
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    eab7e2e6
export.c 26.8 KB