<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/include/linux/ceph/ceph_fs.h, branch dev-4.7</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.7</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2016-05-25T23:15:36+00:00</updated>
<entry>
<title>ceph: using hash value to compose dentry offset</title>
<updated>2016-05-25T23:15:36+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2016-04-29T03:27:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=f3c4ebe65ea149ec892f94474233cfebe9cbe299'/>
<id>urn:sha1:f3c4ebe65ea149ec892f94474233cfebe9cbe299</id>
<content type='text'>
If MDS sorts dentries in dirfrag in hash order, we use hash value to
compose dentry offset. dentry offset is:

  (0xff &lt;&lt; 52) | ((24 bits hash) &lt;&lt; 28) |
  (the nth entry hash hash collision)

This offset is stable across directory fragmentation. This alos means
there is no need to reset readdir offset if directory get fragmented
in the middle of readdir.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: define 'end/complete' in readdir reply as bit flags</title>
<updated>2016-05-25T23:15:35+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2016-04-27T09:48:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=956d39d631dbcf7b57854873a24e309047f2a7f5'/>
<id>urn:sha1:956d39d631dbcf7b57854873a24e309047f2a7f5</id>
<content type='text'>
Set a flag in readdir request, which indicates that client interprets
'end/complete' as bit flags. So that mds can reply additional flags in
readdir reply.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: support for subscribing to "mdsmap.&lt;id&gt;" maps</title>
<updated>2016-05-25T23:15:30+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-05-25T22:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=737cc81ead34bcef0b1f6ea8322228e4378cf21a'/>
<id>urn:sha1:737cc81ead34bcef0b1f6ea8322228e4378cf21a</id>
<content type='text'>
Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>libceph, rbd: ceph_osd_linger_request, watch/notify v2</title>
<updated>2016-05-25T23:15:02+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-05-25T23:15:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=922dab6134178cae317ae00de86376cba59f3147'/>
<id>urn:sha1:922dab6134178cae317ae00de86376cba59f3147</id>
<content type='text'>
This adds support and switches rbd to a new, more reliable version of
watch/notify protocol.  As with the OSD client update, this is mostly
about getting the right structures linked into the right places so that
reconnects are properly sent when needed.  watch/notify v2 also
requires sending regular pings to the OSDs - send_linger_ping().

A major change from the old watch/notify implementation is the
introduction of ceph_osd_linger_request - linger requests no longer
piggy back on ceph_osd_request.  ceph_osd_event has been merged into
ceph_osd_linger_request.

All the details are now hidden within libceph, the interface consists
of a simple pair of watch/unwatch functions and ceph_osdc_notify_ack().
ceph_osdc_watch() does return ceph_osd_linger_request, but only to keep
the lifetime management simple.

ceph_osdc_notify_ack() accepts an optional data payload, which is
relayed back to the notifier.

Portions of this patch are loosely based on work by Douglas Fuller
&lt;dfuller@redhat.com&gt; and Mike Christie &lt;michaelc@cs.wisc.edu&gt;.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: fix security xattr deadlock</title>
<updated>2016-03-25T17:51:55+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2016-03-07T02:34:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=315f24088048a51eed341c53be66ea477a3c7d16'/>
<id>urn:sha1:315f24088048a51eed341c53be66ea477a3c7d16</id>
<content type='text'>
When security is enabled, security module can call filesystem's
getxattr/setxattr callbacks during d_instantiate(). For cephfs,
d_instantiate() is usually called by MDS' dispatch thread, while
handling MDS reply. If the MDS reply does not include xattrs and
corresponding caps, getxattr/setxattr need to send a new request
to MDS and waits for the reply. This makes MDS' dispatch sleep,
nobody handles later MDS replies.

The fix is make sure lookup/atomic_open reply include xattrs and
corresponding caps. So getxattr can be handled by cached xattrs.
This requires some modification to both MDS and request message.
(Client tells MDS what caps it wants; MDS encodes proper caps in
the reply)

Smack security module may call setxattr during d_instantiate().
Unlike getxattr, we can't force MDS to issue CEPH_CAP_XATTR_EXCL
to us. So just make setxattr return error when called by MDS'
dispatch thread.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: revamp subs code, switch to SUBSCRIBE2 protocol</title>
<updated>2016-03-25T17:51:38+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@gmail.com</email>
</author>
<published>2016-01-19T15:19:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=82dcabad750a36a2b749889bc89c5a3188775b2e'/>
<id>urn:sha1:82dcabad750a36a2b749889bc89c5a3188775b2e</id>
<content type='text'>
It is currently hard-coded in the mon_client that mdsmap and monmap
subs are continuous, while osdmap sub is always "onetime".  To better
handle full clusters/pools in the osd_client, we need to be able to
issue continuous osdmap subs.  Revamp subs code to allow us to specify
for each sub whether it should be continuous or not.

Although not strictly required for the above, switch to SUBSCRIBE2
protocol while at it, eliminating the ambiguity between a request for
"every map since X" and a request for "just the latest" when we don't
have a map yet (i.e. have epoch 0).  SUBSCRIBE2 feature bit is now
required - it's been supported since pre-argonaut (2010).

Move "got mdsmap" call to the end of ceph_mdsc_handle_map() - calling
in before we validate the epoch and successfully install the new map
can mess up mon_client sub state.

Signed-off-by: Ilya Dryomov &lt;idryomov@gmail.com&gt;
</content>
</entry>
<entry>
<title>ceph: rename snapshot support</title>
<updated>2015-04-22T15:33:41+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2015-04-07T07:36:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0ea611a3bc5fb8f6a0bb1a76fe2dbf8ebe4bdf77'/>
<id>urn:sha1:0ea611a3bc5fb8f6a0bb1a76fe2dbf8ebe4bdf77</id>
<content type='text'>
Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: handle SESSION_FORCE_RO message</title>
<updated>2015-02-19T10:31:37+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2015-01-05T03:04:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=03f4fcb02884859b584c709652bb48f8125ceb45'/>
<id>urn:sha1:03f4fcb02884859b584c709652bb48f8125ceb45</id>
<content type='text'>
mark session as readonly and wake up all cap waiters.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>libceph: nuke pool op infrastructure</title>
<updated>2015-02-19T10:31:37+00:00</updated>
<author>
<name>Ilya Dryomov</name>
<email>idryomov@redhat.com</email>
</author>
<published>2014-12-22T16:14:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=7a6fdeb2b1e93548854063c46c9724458564c76b'/>
<id>urn:sha1:7a6fdeb2b1e93548854063c46c9724458564c76b</id>
<content type='text'>
On Mon, Dec 22, 2014 at 5:35 PM, Sage Weil &lt;sage@newdream.net&gt; wrote:
&gt; On Mon, 22 Dec 2014, Ilya Dryomov wrote:
&gt;&gt; Actually, pool op stuff has been unused for over two years - looks like
&gt;&gt; it was added for rbd create_snap and that got ripped out in 2012.  It's
&gt;&gt; unlikely we'd ever need to manage pools or snaps from the kernel client
&gt;&gt; so I think it makes sense to nuke it.  Sage?
&gt;
&gt; Yep!

Signed-off-by: Ilya Dryomov &lt;idryomov@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: use getattr request to fetch inline data</title>
<updated>2014-12-17T17:09:52+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zyan@redhat.com</email>
</author>
<published>2014-11-14T13:56:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=01deead041e03c9a6b4e1b2dd165dee4cced6112'/>
<id>urn:sha1:01deead041e03c9a6b4e1b2dd165dee4cced6112</id>
<content type='text'>
Add a new parameter 'locked_page' to ceph_do_getattr(). If inline data
in getattr reply will be copied to the page.

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