librbd: drop snap_lock before invalidating cache

Writeback will take the snap_lock, so read everything we need under it
before invalidating the cache. This avoids a recursive lock when writeback
uses snap_lock while snap_rollback() was holding it.

Remove a not-very-useful debugging message that depended on snap_lock being held.

Fixes: #4249
Backport: bobtail
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Merge branch 'wip-4249' into wip-4249-master

Make snap_rollback() only take a read lock on snap_lock, since
it does not modify snapshot-related fields.
Conflicts:
	src/librbd/internal.cc
librbd: remove unused internal method

get_snap_size() has been replaced by get_image_size(snap_id) everywhere.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Merge remote-tracking branch 'gh/wip-4249-master'