• V
    fuse: Separate fuse device allocation and installation in fuse_conn · 0213de76
    Vivek Goyal 提交于
    task #28910367
    commit 0cd1eb9a4160a96e0ec9b93b2e7b489f449bf22d upstream
    
    As of now fuse_dev_alloc() both allocates a fuse device and installs it
    in fuse_conn list. fuse_dev_alloc() can fail if fuse_device allocation
    fails.
    
    virtio-fs needs to initialize multiple fuse devices (one per virtio
    queue). It initializes one fuse device as part of call to
    fuse_fill_super_common() and rest of the devices are allocated and
    installed after that.
    
    But, we can't affort to fail after calling fuse_fill_super_common() as
    we don't have a way to undo all the actions done by fuse_fill_super_common().
    So to avoid failures after the call to fuse_fill_super_common(),
    pre-allocate all fuse devices early and install them into fuse connection
    later.
    
    This patch provides two separate helpers for fuse device allocation and
    fuse device installation in fuse_conn.
    Signed-off-by: NVivek Goyal <vgoyal@redhat.com>
    Signed-off-by: NLiu Bo <bo.liu@linux.alibaba.com>
    Reviewed-by: NJoseph Qi <joseph.qi@linux.alibaba.com>
    0213de76
fuse_i.h 26.1 KB