• Ilya Dryomov's avatar
    libceph: allocate ceph_osd with GFP_NOFAIL · 7a28f59b
    Ilya Dryomov authored
    create_osd() is called way too deep in the stack to be able to error
    out in a sane way; a failing create_osd() just messes everything up.
    The current req_notarget list solution is broken - the list is never
    traversed as it's not entirely clear when to do it, I guess.
    
    If we were to start traversing it at regular intervals and retrying
    each request, we wouldn't be far off from what __GFP_NOFAIL is doing,
    so allocate OSD sessions with __GFP_NOFAIL, at least until we come up
    with a better fix.
    Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    7a28f59b
osd_client.c 83.5 KB