<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/ceph, branch v4.9</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.9</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.9'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-11-10T19:13:08Z</updated>
<entry>
<title>libceph: initialize last_linger_id with a large integer</title>
<updated>2016-11-10T19:13:08Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-11-08T14:15:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=264048afab27d7c27eedf5394714e0b396d787f7'/>
<id>urn:sha1:264048afab27d7c27eedf5394714e0b396d787f7</id>
<content type='text'>
osdc-&gt;last_linger_id is a counter for lreq-&gt;linger_id, which is used
for watch cookies.  Starting with a large integer should ease the task
of telling apart kernel and userspace clients.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: fix legacy layout decode with pool 0</title>
<updated>2016-11-10T19:13:08Z</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2016-11-09T08:42:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3890dce1d3a8b9fe3bc36de99496792e468cd079'/>
<id>urn:sha1:3890dce1d3a8b9fe3bc36de99496792e468cd079</id>
<content type='text'>
If your data pool was pool 0, ceph_file_layout_from_legacy()
transform that to -1 unconditionally, which broke upgrades.
We only want do that for a fully zeroed ceph_file_layout,
so that it still maps to a file_layout_t.  If any fields
are set, though, we trust the fl_pgpool to be a valid pool.

Fixes: 7627151ea30bc ("libceph: define new ceph_file_layout structure")
Link: http://tracker.ceph.com/issues/17825
Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>mm: replace get_user_pages_unlocked() write/force parameters with gup_flags</title>
<updated>2016-10-18T21:13:37Z</updated>
<author>
<name>Lorenzo Stoakes</name>
<email>lstoakes@gmail.com</email>
</author>
<published>2016-10-13T00:20:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c164154f66f0c9b02673f07aa4f044f1d9c70274'/>
<id>urn:sha1:c164154f66f0c9b02673f07aa4f044f1d9c70274</id>
<content type='text'>
This removes the 'write' and 'force' use from get_user_pages_unlocked()
and replaces them with 'gup_flags' to make the use of FOLL_FORCE
explicit in callers as use of this flag can result in surprising
behaviour (and hence bugs) within the mm subsystem.

Signed-off-by: Lorenzo Stoakes &lt;lstoakes@gmail.com&gt;
Reviewed-by: Jan Kara &lt;jack@suse.cz&gt;
Acked-by: Michal Hocko &lt;mhocko@suse.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>crush: remove redundant local variable</title>
<updated>2016-10-05T21:02:10Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-09-27T10:35:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=64f77566e1c84990d6c448bb3960f899521c0b7d'/>
<id>urn:sha1:64f77566e1c84990d6c448bb3960f899521c0b7d</id>
<content type='text'>
Remove extra x1 variable, it's just temporary placeholder that
clutters the code unnecessarily.

Reflects ceph.git commit 0d19408d91dd747340d70287b4ef9efd89e95c6b.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>crush: don't normalize input of crush_ln iteratively</title>
<updated>2016-10-05T21:02:04Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-09-27T10:30:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=74a5293832b3c1f7cb8f86fb9af9ee747138d355'/>
<id>urn:sha1:74a5293832b3c1f7cb8f86fb9af9ee747138d355</id>
<content type='text'>
Use __builtin_clz() supported by GCC and Clang to figure out
how many bits we should shift instead of shifting by a bit
in a loop until the value gets normalized. Improves performance
of this function by up to 3x in worst-case scenario and overall
straw2 performance by ~10%.

Reflects ceph.git commit 110de33ca497d94fc4737e5154d3fe781fa84a0a.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: ceph_build_auth() doesn't need ceph_auth_build_hello()</title>
<updated>2016-10-03T14:13:50Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-09-23T07:57:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=464691bd52b46a565153ec2a3b8b9984dacd4a00'/>
<id>urn:sha1:464691bd52b46a565153ec2a3b8b9984dacd4a00</id>
<content type='text'>
A static bug finder (EBA) on Linux 4.7:

    Double lock in net/ceph/auth.c
    second lock at 108: mutex_lock(&amp; ac-&gt;mutex); [ceph_auth_build_hello]
    after calling from 263: ret = ceph_auth_build_hello(ac, msg_buf, msg_len);
    if ! ac-&gt;protocol -&gt; true at 262
    first lock at 261: mutex_lock(&amp; ac-&gt;mutex); [ceph_build_auth]

ceph_auth_build_hello() is never called, because the protocol is always
initialized, whether we are checking existing tickets (in delayed_work())
or getting new ones after invalidation (in invalidate_authorizer()).

Reported-by: Iago Abal &lt;iari@itu.dk&gt;
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph: use CEPH_AUTH_UNKNOWN in ceph_auth_build_hello()</title>
<updated>2016-10-03T14:13:50Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-09-23T07:57:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fdc723e77bcf17ec2646fdef031e7f135968a9b7'/>
<id>urn:sha1:fdc723e77bcf17ec2646fdef031e7f135968a9b7</id>
<content type='text'>
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>rbd: add 'client_addr' sysfs rbd device attribute</title>
<updated>2016-08-24T21:49:16Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-08-18T16:38:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=005a07bf0a92e7f0e73fc9a6c9acc992c5dbd00c'/>
<id>urn:sha1:005a07bf0a92e7f0e73fc9a6c9acc992c5dbd00c</id>
<content type='text'>
Export client addr/nonce, so userspace can check if a image is being
blacklisted.

Signed-off-by: Mike Christie &lt;mchristi@redhat.com&gt;
[idryomov@gmail.com: ceph_client_addr(), endianess fix]
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>rbd: support for exclusive-lock feature</title>
<updated>2016-08-24T21:49:16Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-08-12T14:40:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ed95b21a4b0a71ef89306cdeb427d53cc9cb343f'/>
<id>urn:sha1:ed95b21a4b0a71ef89306cdeb427d53cc9cb343f</id>
<content type='text'>
Add basic support for RBD_FEATURE_EXCLUSIVE_LOCK feature.  Maintenance
operations (resize, snapshot create, etc) are offloaded to librbd via
returning -EOPNOTSUPP - librbd should request the lock and execute the
operation.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Mike Christie &lt;mchristi@redhat.com&gt;
Tested-by: Mike Christie &lt;mchristi@redhat.com&gt;
</content>
</entry>
<entry>
<title>rbd: retry watch re-registration periodically</title>
<updated>2016-08-24T21:49:16Z</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-08-12T14:11:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=99d1694310df3ffef66902f5bc1a23e95a724aa3'/>
<id>urn:sha1:99d1694310df3ffef66902f5bc1a23e95a724aa3</id>
<content type='text'>
Revamp watch code to support retrying watch re-registration:

- add rbd_dev-&gt;watch_state for more robust errcb handling
- store watch cookie separately to avoid dereferencing watch_handle
  which is set to NULL on unwatch
- move re-register code into a delayed work and retry re-registration
  every second, unless the client is blacklisted

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
Reviewed-by: Mike Christie &lt;mchristi@redhat.com&gt;
Tested-by: Mike Christie &lt;mchristi@redhat.com&gt;
</content>
</entry>
</feed>
