libceph: use %s instead of %pE in dout()s
authorIlya Dryomov <idryomov@gmail.com>
Mon, 30 May 2016 16:33:32 +0000 (18:33 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 30 May 2016 21:00:23 +0000 (23:00 +0200)
commit4a3262b17c96b6ff332134c9e57f193a20226eb2
tree4cfeba3d5e7f6db9031edf3859ed36c2045685e6
parentdc045a9168c83b2dc590930a0565e066346de382
libceph: use %s instead of %pE in dout()s

Commit d30291b985d1 ("libceph: variable-sized ceph_object_id") changed
dout()s in what is now encode_request() and ceph_object_locator_to_pg()
to use %pE, mostly to document that, although all rbd and cephfs object
names are NULL-terminated strings, ceph_object_id will handle any RADOS
object name, including the one containing NULs, just fine.

However, it turns out that vbin_printf() can't handle anything but ints
and %s - all %p suffixes are ignored.  The buffer %p** points to isn't
recorded, resulting in trash in the messages if the buffer had been
reused by the time bstr_printf() got to it.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
net/ceph/osd_client.c
net/ceph/osdmap.c