rbd: new request handling code
authorIlya Dryomov <idryomov@gmail.com>
Mon, 29 Jan 2018 13:04:08 +0000 (14:04 +0100)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 2 Apr 2018 08:12:40 +0000 (10:12 +0200)
commit3da691bf436690c4bb943d5d16e5934937625578
treea278eb95bf9e51ff34368d522727ba274e0e942f
parent45a267dbb40f5cf15efa23ce815c4fe0b4674aa2
rbd: new request handling code

The notable changes are:

- instead of explicitly stat'ing the object to see if it exists before
  issuing the write, send the write optimistically along with the stat
  in a single OSD request
- zero copyup optimization
- all object requests are associated with an image request and have
  a valid ->img_request pointer; there are no standalone (!IMG_DATA)
  object requests anymore
- code is structured as a state machine (vs a bunch of callbacks with
  implicit state)

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
drivers/block/rbd.c