xnbd: Fix error flows in open/fstat

Need to catch xio_send_request error if occured.
For later errors we should call xio_release_response.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Reported-by: Jack Wang <jinpu.wang@profitbricks.com>
xnbd: Fix error flows in xnbd_transfer

If we failed to transfer, we need to return the iou
to the pool.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
xnbd: Remove possible double print

open, fstat, setup commands may fail. They may failed
to unpack response (rc = -EINVAL), or response is error.
Notify each accordingly.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
xnbd: Fix submit_answer err return code.

This is a follow up of commit a8adf5

Signed-off-by: Jack Wang <jinpu.wang@profitbricks.com>
Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
xnbd: Fix error flows in xnbd_create_device

Don't forget to remove the sysfs entry.

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>
xnbd: Don't allocate xnbd_session kobj

It may be used as a static allocated member rather
then dinamically allocated. This will allow us
to avoid searching the session every time.

Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
xnbd_sysfs: prettify open failure print

Signed-off-by: Sagi Grimberg <sagig@mellanox.com>