<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ceph/ioctl.c, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-10-21T15:21:37Z</updated>
<entry>
<title>ceph: fix bogus endianness change in ceph_ioctl_set_layout</title>
<updated>2017-10-21T15:21:37Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2017-01-12T19:42:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6839ad59f9d5058b3b7e2c608b4a9d08619134a3'/>
<id>urn:sha1:6839ad59f9d5058b3b7e2c608b4a9d08619134a3</id>
<content type='text'>
[ Upstream commit 24c149ad6914d349d8b64749f20f3f8ea5031fe0 ]

sparse says:

    fs/ceph/ioctl.c:100:28: warning: cast to restricted __le64

preferred_osd is a __s64 so we don't need to do any conversion. Also,
just remove the cast in ceph_ioctl_get_layout as it's not needed.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Sage Weil &lt;sage@redhat.com&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ceph: reduce i_nr_by_mode array size</title>
<updated>2016-07-28T00:55:39Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2016-06-06T08:01:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=774a6a118c70f8c11fcfe636032b5016ad71a746'/>
<id>urn:sha1:774a6a118c70f8c11fcfe636032b5016ad71a746</id>
<content type='text'>
Track usage count for individual fmode bit. This can reduce the
array size by half.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: rados pool namespace support</title>
<updated>2016-07-28T00:55:38Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2016-03-07T01:35:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=779fe0fb8e1883d5c479ac6bd85fbd237deed1f7'/>
<id>urn:sha1:779fe0fb8e1883d5c479ac6bd85fbd237deed1f7</id>
<content type='text'>
This patch adds codes that decode pool namespace information in
cap message and request reply. Pool namespace is saved in i_layout,
it will be passed to libceph when doing read/write.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: define new ceph_file_layout structure</title>
<updated>2016-07-28T00:55:36Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2016-02-03T13:24:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7627151ea30bce2051e3cb27d7bb2c30083f86a5'/>
<id>urn:sha1:7627151ea30bce2051e3cb27d7bb2c30083f86a5</id>
<content type='text'>
Define new ceph_file_layout structure and rename old ceph_file_layout
to ceph_file_layout_legacy. This is preparation for adding namespace
to ceph_file_layout structure.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: add an ONSTACK initializer for oids</title>
<updated>2016-07-28T00:55:35Z</updated>
<author>
<name>Ilya Dryomov</name>
</author>
<published>2016-07-26T13:22:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=281dbe5db81c6137def9757e07a7aea14b1ed86e'/>
<id>urn:sha1:281dbe5db81c6137def9757e07a7aea14b1ed86e</id>
<content type='text'>
An on-stack oid in ceph_ioctl_get_dataloc() is not initialized,
resulting in a WARN and a NULL pointer dereference later on.  We will
have more of these on-stack in the future, so fix it with a convenience
macro.

Fixes: d30291b985d1 ("libceph: variable-sized ceph_object_id")
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: a major OSD client update</title>
<updated>2016-05-25T23:14:03Z</updated>
<author>
<name>Ilya Dryomov</name>
</author>
<published>2016-04-28T14:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5aea3dcd50215fa9563270251ad7323e2f2490ee'/>
<id>urn:sha1:5aea3dcd50215fa9563270251ad7323e2f2490ee</id>
<content type='text'>
This is a major sync up, up to ~Jewel.  The highlights are:

- per-session request trees (vs a global per-client tree)
- per-session locking (vs a global per-client rwlock)
- homeless OSD session
- no ad-hoc global per-client lists
- support for pool quotas
- foundation for watch/notify v2 support
- foundation for map check (pool deletion detection) support

The switchover is incomplete: lingering requests can be setup and
teared down but aren't ever reestablished.  This functionality is
restored with the introduction of the new lingering infrastructure
(ceph_osd_linger_request, linger_work, etc) in a later commit.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: rename ceph_calc_pg_primary()</title>
<updated>2016-05-25T22:36:25Z</updated>
<author>
<name>Ilya Dryomov</name>
</author>
<published>2016-04-28T14:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f81f16339a05775df600b2ff75a79be1864975c1'/>
<id>urn:sha1:f81f16339a05775df600b2ff75a79be1864975c1</id>
<content type='text'>
Rename ceph_calc_pg_primary() to ceph_pg_to_acting_primary() to
emphasise that it returns acting primary.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: rename ceph_oloc_oid_to_pg()</title>
<updated>2016-05-25T22:36:24Z</updated>
<author>
<name>Ilya Dryomov</name>
</author>
<published>2016-04-28T14:07:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d9591f5e28686277d9312d3c7422faf1368b305e'/>
<id>urn:sha1:d9591f5e28686277d9312d3c7422faf1368b305e</id>
<content type='text'>
Rename ceph_oloc_oid_to_pg() to ceph_object_locator_to_pg().  Emphasise
that returned is raw PG and return -ENOENT instead of -EIO if the pool
doesn't exist.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: variable-sized ceph_object_id</title>
<updated>2016-05-25T22:36:22Z</updated>
<author>
<name>Ilya Dryomov</name>
</author>
<published>2016-04-29T17:54:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d30291b985d1854565d7f2c82a4457869d5265e8'/>
<id>urn:sha1:d30291b985d1854565d7f2c82a4457869d5265e8</id>
<content type='text'>
Currently ceph_object_id can hold object names of up to 100
(CEPH_MAX_OID_NAME_LEN) characters.  This is enough for all use cases,
expect one - long rbd image names:

- a format 1 header is named "&lt;imgname&gt;.rbd"
- an object that points to a format 2 header is named "rbd_id.&lt;imgname&gt;"

We operate on these potentially long-named objects during rbd map, and,
for format 1 images, during header refresh.  (A format 2 header name is
a small system-generated string.)

Lift this 100 character limit by making ceph_object_id be able to point
to an externally-allocated string.  Apart from being able to work with
almost arbitrarily-long named objects, this allows us to reduce the
size of ceph_object_id from &gt;100 bytes to 64 bytes.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: fix divide-by-zero in __validate_layout()</title>
<updated>2014-10-14T19:57:05Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2014-10-14T07:38:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bc62284ee3f2a228c64902ed818b6ba8e04159b'/>
<id>urn:sha1:0bc62284ee3f2a228c64902ed818b6ba8e04159b</id>
<content type='text'>
The 'stripe_unit' field is 64 bits, casting it to 32 bits can result zero.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
</feed>
