<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net/ceph/osd_client.c, branch linux-4.13.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-08-01T14:46:45+00:00</updated>
<entry>
<title>libceph: make RECOVERY_DELETES feature create a new interval</title>
<updated>2017-08-01T14:46:45+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-07-27T15:59:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ae78dd8139ce93a528beb7f3914531b7a7be9e30'/>
<id>urn:sha1:ae78dd8139ce93a528beb7f3914531b7a7be9e30</id>
<content type='text'>
This is needed so that the OSDs can regenerate the missing set at the
start of a new interval where support for recovery deletes changed.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Sage Weil &lt;sage@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: make encode_request_*() work with r_mempool requests</title>
<updated>2017-08-01T14:46:31+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-07-25T12:40:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=986e89898acb3d8f750f259a90cb73afca426b58'/>
<id>urn:sha1:986e89898acb3d8f750f259a90cb73afca426b58</id>
<content type='text'>
Messages allocated out of ceph_msgpool have a fixed front length
(pool-&gt;front_len).  Asserting that the entire front has been filled
while encoding is thus wrong.

Fixes: 8cb441c0545d ("libceph: MOSDOp v8 encoding (actual spgid + full hash)")
Reported-by: "Yan, Zheng" &lt;zyan@redhat.com&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: "Yan, Zheng" &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: don't call encode_request_finish() on MOSDBackoff messages</title>
<updated>2017-07-17T12:54:59+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-07-14T14:08:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=914902af4f271884968f72c4fa144c723be2a699'/>
<id>urn:sha1:914902af4f271884968f72c4fa144c723be2a699</id>
<content type='text'>
encode_request_finish() is for MOSDOp messages.  Calling it on
MOSDBackoff ack-block messages corrupts them.

Fixes: a02a946dfe96 ("libceph: respect RADOS_BACKOFF backoffs")
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: respect RADOS_BACKOFF backoffs</title>
<updated>2017-07-07T15:25:17+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-19T10:18:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a02a946dfe9633d7e0202359836f6b5217a62824'/>
<id>urn:sha1:a02a946dfe9633d7e0202359836f6b5217a62824</id>
<content type='text'>
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: avoid unnecessary pi lookups in calc_target()</title>
<updated>2017-07-07T15:25:17+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-15T14:30:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=df28152d53b449a72258000f592472215fc9371e'/>
<id>urn:sha1:df28152d53b449a72258000f592472215fc9371e</id>
<content type='text'>
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: use target pi for calc_target() calculations</title>
<updated>2017-07-07T15:25:17+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-15T14:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6d637a540e6f87b9c926d45a507ff143640517cf'/>
<id>urn:sha1:6d637a540e6f87b9c926d45a507ff143640517cf</id>
<content type='text'>
For luminous and beyond we are encoding the actual spgid, which
requires operating with the correct pg_num, i.e. that of the target
pool.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: always populate t-&gt;target_{oid,oloc} in calc_target()</title>
<updated>2017-07-07T15:25:16+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-15T14:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=db098ec4e41a6ad8f5b248b1287bb583754e944e'/>
<id>urn:sha1:db098ec4e41a6ad8f5b248b1287bb583754e944e</id>
<content type='text'>
need_check_tiering logic doesn't make a whole lot of sense.  Drop it
and apply tiering unconditionally on every calc_target() call instead.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: make sure need_resend targets reflect latest map</title>
<updated>2017-07-07T15:25:16+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-15T14:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=04c7d789e269c2b82bbd08106049a5a979cdb3fd'/>
<id>urn:sha1:04c7d789e269c2b82bbd08106049a5a979cdb3fd</id>
<content type='text'>
Otherwise we may miss events like PG splits, pool deletions, etc when
we get multiple incremental maps at once.  Because check_pool_dne() can
now be fed an unlinked request, finish_request() needed to be taught to
handle unlinked requests.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: delete from need_resend_linger before check_linger_pool_dne()</title>
<updated>2017-07-07T15:25:16+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-15T14:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a10bcb19ae02cea7d5e6650fbc2de3ced46b4e5d'/>
<id>urn:sha1:a10bcb19ae02cea7d5e6650fbc2de3ced46b4e5d</id>
<content type='text'>
When processing a map update consisting of multiple incrementals, we
may end up running check_linger_pool_dne() on a lingering request that
was previously added to need_resend_linger list.  If it is concluded
that the target pool doesn't exist, the request is killed off while
still on need_resend_linger list, which leads to a crash on a NULL
lreq-&gt;osd in kick_requests():

    libceph: linger_id 18446462598732840961 pool does not exist
    BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
    IP: ceph_osdc_handle_map+0x4ae/0x870

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: resend on PG splits if OSD has RESEND_ON_SPLIT</title>
<updated>2017-07-07T15:25:16+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2017-06-15T14:30:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7de030d6b10a56e991312a978ace6be3c090097c'/>
<id>urn:sha1:7de030d6b10a56e991312a978ace6be3c090097c</id>
<content type='text'>
Note that ceph_osd_request_target fields are updated regardless of
RESEND_ON_SPLIT.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
</feed>
