The patches in this fourth series is not very well related to each other. The first two make the bulk of the initialization of an rbd_dev occur while holding its semaphore. It's done in two steps to make review easier. The third deletes some code that some analysis shows is not necessary. The fourth one is significant for version 2 images. It changes rbd_snap_by_name() so it uses the rbd_dev->snaps list in looking up a snapshot id by name rather than using the snapshot context. For version 2 images, having a snapshot context doesn't imply the names for the snapshot ids in that context are readily available. However all snapshots in the snaps list will already have a cached copy of snapshot names (for both format 1 and 2) so this allows this single lookup function to work efficiently for both formats. It is available as branch "wip-rbd-review-4" on the ceph-client git repository, and is based on the branch "wip-rbd-review-3". https://github.com/ceph/ceph-client/tree/wip-rbd-review-4 -Alex [PATCH 1/4] f3b3dfe rbd: move locking out of rbd_header_set_snap() [PATCH 2/4] aecdaf1 rbd: expand lock protection in rbd_add() [PATCH 3/4] 9278d3a rbd: don't register snapshots in bus_add_dev() [PATCH 4/4] dcc54d7 rbd: use snaps list in rbd_snap_by_name() -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html