<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/drivers/block/rbd.c, branch v3.5</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>rbd: endian bug in rbd_req_cb()</title>
<updated>2012-07-18T04:30:31+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2012-06-06T14:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=6a3ca4f18873f950895cb64ddefafb51a732e3f7'/>
<id>6a3ca4f18873f950895cb64ddefafb51a732e3f7</id>
<content type='text'>
Sparse complains about this because:
drivers/block/rbd.c:996:20: warning: cast to restricted __le32
drivers/block/rbd.c:996:20: warning: cast from restricted __le16

These are set in osd_req_encode_op() and they are le16.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
(cherry picked from commit 895cfcc810e53d7d36639969c71efb9087221167)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Sparse complains about this because:
drivers/block/rbd.c:996:20: warning: cast to restricted __le32
drivers/block/rbd.c:996:20: warning: cast from restricted __le16

These are set in osd_req_encode_op() and they are le16.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
(cherry picked from commit 895cfcc810e53d7d36639969c71efb9087221167)
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: Fix ceph_snap_context size calculation</title>
<updated>2012-07-18T04:30:19+00:00</updated>
<author>
<name>Yan, Zheng</name>
<email>zheng.z.yan@intel.com</email>
</author>
<published>2012-06-06T14:15:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=236df3755d944c33120d77e84b5ff6f3917eb307'/>
<id>236df3755d944c33120d77e84b5ff6f3917eb307</id>
<content type='text'>
ceph_snap_context-&gt;snaps is an u64 array

Signed-off-by: Zheng Yan &lt;zheng.z.yan@intel.com&gt;
Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
(cherry picked from commit f9f9a1904467816452fc70740165030e84c2c659)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ceph_snap_context-&gt;snaps is an u64 array

Signed-off-by: Zheng Yan &lt;zheng.z.yan@intel.com&gt;
Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
(cherry picked from commit f9f9a1904467816452fc70740165030e84c2c659)
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: rename __rbd_update_snaps to __rbd_refresh_header</title>
<updated>2012-05-14T17:13:09+00:00</updated>
<author>
<name>Josh Durgin</name>
<email>josh.durgin@dreamhost.com</email>
</author>
<published>2011-12-05T18:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=263c6ca007a6693fb724a24c5a55716c49d33573'/>
<id>263c6ca007a6693fb724a24c5a55716c49d33573</id>
<content type='text'>
This function rereads the entire header and handles any changes in
it, not just changes in snapshots.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function rereads the entire header and handles any changes in
it, not just changes in snapshots.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: fix snapshot size type</title>
<updated>2012-05-14T17:13:03+00:00</updated>
<author>
<name>Josh Durgin</name>
<email>josh.durgin@dreamhost.com</email>
</author>
<published>2011-12-06T02:25:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3591538fb272d2432d112d47d7e0ddd0be4cded2'/>
<id>3591538fb272d2432d112d47d7e0ddd0be4cded2</id>
<content type='text'>
Snapshot sizes should be the same type as regular image sizes. This
only affects their displayed size in sysfs, not the reported size of
an actual block device sizes.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Snapshot sizes should be the same type as regular image sizes. This
only affects their displayed size in sysfs, not the reported size of
an actual block device sizes.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: remove conditional snapid parameters</title>
<updated>2012-05-14T17:12:58+00:00</updated>
<author>
<name>Josh Durgin</name>
<email>josh.durgin@dreamhost.com</email>
</author>
<published>2011-11-22T02:16:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b06e6a6be796bc365a19b0ac5176b553c13abf2f'/>
<id>b06e6a6be796bc365a19b0ac5176b553c13abf2f</id>
<content type='text'>
The snapid parameters passed to rbd_do_op() and rbd_req_sync_op()
are now always either a valid snapid or an explicit CEPH_NOSNAP.

[elder@dreamhost.com: Rephrased the description]

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The snapid parameters passed to rbd_do_op() and rbd_req_sync_op()
are now always either a valid snapid or an explicit CEPH_NOSNAP.

[elder@dreamhost.com: Rephrased the description]

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: store snapshot id instead of index</title>
<updated>2012-05-14T17:12:52+00:00</updated>
<author>
<name>Josh Durgin</name>
<email>josh.durgin@dreamhost.com</email>
</author>
<published>2011-11-21T21:04:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=77dfe99fe3cb0b2b0545e19e2d57b7a9134ee3c0'/>
<id>77dfe99fe3cb0b2b0545e19e2d57b7a9134ee3c0</id>
<content type='text'>
When a device was open at a snapshot, and snapshots were deleted or
added, data from the wrong snapshot could be read. Instead of
assuming the snap context is constant, store the actual snap id when
the device is initialized, and rely on the OSDs to signal an error
if we try reading from a snapshot that was deleted.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a device was open at a snapshot, and snapshots were deleted or
added, data from the wrong snapshot could be read. Instead of
assuming the snap context is constant, store the actual snap id when
the device is initialized, and rely on the OSDs to signal an error
if we try reading from a snapshot that was deleted.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: protect read of snapshot sequence number</title>
<updated>2012-05-14T17:12:46+00:00</updated>
<author>
<name>Josh Durgin</name>
<email>josh.durgin@dreamhost.com</email>
</author>
<published>2011-12-05T18:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=403f24d3d51760a8b9368d595fa5f48c309f1a0f'/>
<id>403f24d3d51760a8b9368d595fa5f48c309f1a0f</id>
<content type='text'>
This is updated whenever a snapshot is added or deleted, and the
snapc pointer is changed with every refresh of the header.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is updated whenever a snapshot is added or deleted, and the
snapc pointer is changed with every refresh of the header.

Signed-off-by: Josh Durgin &lt;josh.durgin@dreamhost.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
Reviewed-by: Yehuda Sadeh &lt;yehuda@hq.newdream.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: fix integer overflow in rbd_header_from_disk()</title>
<updated>2012-05-14T17:12:41+00:00</updated>
<author>
<name>Xi Wang</name>
<email>xi.wang@gmail.com</email>
</author>
<published>2012-04-20T20:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=50f7c4c967d0b5acd8e7ba6ab654dc4a7ac869ac'/>
<id>50f7c4c967d0b5acd8e7ba6ab654dc4a7ac869ac</id>
<content type='text'>
ondisk-&gt;snap_count is read from disk via rbd_req_sync_read() and thus
needs validation.  Otherwise, a bogus `snap_count' could overflow the
kmalloc() size, leading to memory corruption.

Also use `u32' consistently for `snap_count'.

[elder@dreamhost.com: changed to use UINT_MAX rather than ULONG_MAX]

Signed-off-by: Xi Wang &lt;xi.wang@gmail.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ondisk-&gt;snap_count is read from disk via rbd_req_sync_read() and thus
needs validation.  Otherwise, a bogus `snap_count' could overflow the
kmalloc() size, leading to memory corruption.

Also use `u32' consistently for `snap_count'.

[elder@dreamhost.com: changed to use UINT_MAX rather than ULONG_MAX]

Signed-off-by: Xi Wang &lt;xi.wang@gmail.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>rbd: use gfp_flags parameter in rbd_header_from_disk()</title>
<updated>2012-05-14T17:12:35+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2012-04-20T20:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f8ad495a8a0277b88c59bf38319e5e944aaf5a4a'/>
<id>f8ad495a8a0277b88c59bf38319e5e944aaf5a4a</id>
<content type='text'>
We should use the gfp_flags that the caller specified instead of
GFP_KERNEL here.

There is only one caller and it uses GFP_KERNEL, so this change is
just a cleanup and doesn't change how the code works.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We should use the gfp_flags that the caller specified instead of
GFP_KERNEL here.

There is only one caller and it uses GFP_KERNEL, so this change is
just a cleanup and doesn't change how the code works.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Alex Elder &lt;elder@dreamhost.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ceph: drop support for preferred_osd pgs</title>
<updated>2012-05-07T22:33:36+00:00</updated>
<author>
<name>Sage Weil</name>
<email>sage@inktank.com</email>
</author>
<published>2012-05-07T22:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=3469ac1aa3a2f1e2586a412923c414779a0af854'/>
<id>3469ac1aa3a2f1e2586a412923c414779a0af854</id>
<content type='text'>
This was an ill-conceived feature that has been removed from Ceph.  Do
this gracefully:

 - reject attempts to specify a preferred_osd via the ioctl
 - stop exposing this information via virtual xattrs
 - always fill in -1 for requests, in case we talk to an older server
 - don't calculate preferred_osd placements/pgids

Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was an ill-conceived feature that has been removed from Ceph.  Do
this gracefully:

 - reject attempts to specify a preferred_osd via the ioctl
 - stop exposing this information via virtual xattrs
 - always fill in -1 for requests, in case we talk to an older server
 - don't calculate preferred_osd placements/pgids

Reviewed-by: Alex Elder &lt;elder@inktank.com&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
