<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/fs/btrfs, branch v3.13</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs</title>
<updated>2013-12-12T23:25:10+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-12-12T23:25:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e09f67f1472bb3027448251d51bd52543d0af699'/>
<id>e09f67f1472bb3027448251d51bd52543d0af699</id>
<content type='text'>
Pull btrfs fixes from Chris Mason:
 "This is a small collection of fixes.  It was rebased this morning, but
  I was just fixing signed-off-by tags with the wrong email"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
  Btrfs: fix access_ok() check in btrfs_ioctl_send()
  Btrfs: make sure we cleanup all reloc roots if error happens
  Btrfs: skip building backref tree for uuid and quota tree when doing balance relocation
  Btrfs: fix an oops when doing balance relocation
  Btrfs: don't miss skinny extent items on delayed ref head contention
  btrfs: call mnt_drop_write after interrupted subvol deletion
  Btrfs: don't clear the default compression type
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull btrfs fixes from Chris Mason:
 "This is a small collection of fixes.  It was rebased this morning, but
  I was just fixing signed-off-by tags with the wrong email"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
  Btrfs: fix access_ok() check in btrfs_ioctl_send()
  Btrfs: make sure we cleanup all reloc roots if error happens
  Btrfs: skip building backref tree for uuid and quota tree when doing balance relocation
  Btrfs: fix an oops when doing balance relocation
  Btrfs: don't miss skinny extent items on delayed ref head contention
  btrfs: call mnt_drop_write after interrupted subvol deletion
  Btrfs: don't clear the default compression type
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: fix access_ok() check in btrfs_ioctl_send()</title>
<updated>2013-12-12T15:13:02+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2013-01-10T08:57:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=700ff4f095d78af0998953e922e041d75254518b'/>
<id>700ff4f095d78af0998953e922e041d75254518b</id>
<content type='text'>
The closing parenthesis is in the wrong place.  We want to check
"sizeof(*arg-&gt;clone_sources) * arg-&gt;clone_sources_count" instead of
"sizeof(*arg-&gt;clone_sources * arg-&gt;clone_sources_count)".

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Jie Liu &lt;jeff.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The closing parenthesis is in the wrong place.  We want to check
"sizeof(*arg-&gt;clone_sources) * arg-&gt;clone_sources_count" instead of
"sizeof(*arg-&gt;clone_sources * arg-&gt;clone_sources_count)".

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Jie Liu &lt;jeff.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: make sure we cleanup all reloc roots if error happens</title>
<updated>2013-12-12T15:12:51+00:00</updated>
<author>
<name>Wang Shilong</name>
<email>wangsl.fnst@cn.fujitsu.com</email>
</author>
<published>2013-12-11T11:29:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=467bb1d27c0b783b73e6349304c0d90b5b4f431b'/>
<id>467bb1d27c0b783b73e6349304c0d90b5b4f431b</id>
<content type='text'>
I hit an oops when merging reloc roots fails, the reason is that
new reloc roots may be added and we should make sure we cleanup
all reloc roots.

Signed-off-by: Wang Shilong &lt;wangsl.fnst@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I hit an oops when merging reloc roots fails, the reason is that
new reloc roots may be added and we should make sure we cleanup
all reloc roots.

Signed-off-by: Wang Shilong &lt;wangsl.fnst@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: skip building backref tree for uuid and quota tree when doing balance relocation</title>
<updated>2013-12-12T15:12:36+00:00</updated>
<author>
<name>Wang Shilong</name>
<email>wangsl.fnst@cn.fujitsu.com</email>
</author>
<published>2013-12-09T16:14:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6646374863508e24da7c7d21527f8dadc8687ff9'/>
<id>6646374863508e24da7c7d21527f8dadc8687ff9</id>
<content type='text'>
Quota tree and UUID Tree is only cowed, they can not be snapshoted.

Signed-off-by: Wang Shilong &lt;wangsl.fnst@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Quota tree and UUID Tree is only cowed, they can not be snapshoted.

Signed-off-by: Wang Shilong &lt;wangsl.fnst@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: fix an oops when doing balance relocation</title>
<updated>2013-12-12T15:12:20+00:00</updated>
<author>
<name>Wang Shilong</name>
<email>wangsl.fnst@cn.fujitsu.com</email>
</author>
<published>2013-12-11T11:29:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c974c4642fee8c58239c7753d0bf548b23799923'/>
<id>c974c4642fee8c58239c7753d0bf548b23799923</id>
<content type='text'>
I hit an oops when inserting reloc root into @reloc_root_tree(it can be
easily triggered when forcing cow for relocation root)

[  866.494539]  [&lt;ffffffffa0499579&gt;] btrfs_init_reloc_root+0x79/0xb0 [btrfs]
[  866.495321]  [&lt;ffffffffa044c240&gt;] record_root_in_trans+0xb0/0x110 [btrfs]
[  866.496109]  [&lt;ffffffffa044d758&gt;] btrfs_record_root_in_trans+0x48/0x80 [btrfs]
[  866.496908]  [&lt;ffffffffa0494da8&gt;] select_reloc_root+0xa8/0x210 [btrfs]
[  866.497703]  [&lt;ffffffffa0495c8a&gt;] do_relocation+0x16a/0x540 [btrfs]

This is because reloc root inserted into @reloc_root_tree is not within one
transaction,reloc root may be cowed and root block bytenr will be reused then
oops happens.We should update reloc root in @reloc_root_tree when cow reloc
root node, fix it.

Signed-off-by: Wang Shilong &lt;wangsl.fnst@cn.fujitsu.com&gt;
Reviewed-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I hit an oops when inserting reloc root into @reloc_root_tree(it can be
easily triggered when forcing cow for relocation root)

[  866.494539]  [&lt;ffffffffa0499579&gt;] btrfs_init_reloc_root+0x79/0xb0 [btrfs]
[  866.495321]  [&lt;ffffffffa044c240&gt;] record_root_in_trans+0xb0/0x110 [btrfs]
[  866.496109]  [&lt;ffffffffa044d758&gt;] btrfs_record_root_in_trans+0x48/0x80 [btrfs]
[  866.496908]  [&lt;ffffffffa0494da8&gt;] select_reloc_root+0xa8/0x210 [btrfs]
[  866.497703]  [&lt;ffffffffa0495c8a&gt;] do_relocation+0x16a/0x540 [btrfs]

This is because reloc root inserted into @reloc_root_tree is not within one
transaction,reloc root may be cowed and root block bytenr will be reused then
oops happens.We should update reloc root in @reloc_root_tree when cow reloc
root node, fix it.

Signed-off-by: Wang Shilong &lt;wangsl.fnst@cn.fujitsu.com&gt;
Reviewed-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: don't miss skinny extent items on delayed ref head contention</title>
<updated>2013-12-12T15:11:58+00:00</updated>
<author>
<name>Filipe David Borba Manana</name>
<email>fdmanana@gmail.com</email>
</author>
<published>2013-12-08T00:26:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=639eefc8afd1b8b839b1fd5605378d869d3612a1'/>
<id>639eefc8afd1b8b839b1fd5605378d869d3612a1</id>
<content type='text'>
Currently extent-tree.c:btrfs_lookup_extent_info() can miss the lookup
of skinny extent items. This can happen when the execution flow is the
following:

* We do an extent tree lookup and fail to find a skinny extent item;

* As a result, we attempt to see if a non-skinny extent item exists,
  either by looking at previous item in the leaf or by doing another
  full extent tree search;

* We have a transaction and then we check for a matching delayed ref
  head in the transaction's delayed refs rbtree;

* We find such delayed ref head and then we try to lock it with a
  call to mutex_trylock();

* The lock was contended so we jump to the label "again", which repeats
  the extent tree search but for a non-skinny extent item, because we set
  previously metadata variable to 0 and the search key to look for a
  non-skinny extent-item;

* After the jump (and after releasing the transaction's delayed refs
  lock), a skinny extent item might have been added to the extent tree
  but we will miss it because metadata is set to 0 and the search key
  is set for a non-skinny extent-item.

The fix here is to not reset metadata to 0 and to jump to the initial search
key setup if the delayed ref head is contended, instead of jumping directly
to the extent tree search label ("again").

This issue was found while investigating the issue reported at Bugzilla 64961.

David Sterba suspected this function was missing extent items, and that
this could be caused by the last change to this function, which was made
in the following patch:

    [PATCH] Btrfs: optimize btrfs_lookup_extent_info()
    (commit 74be9510876a66ad9826613ac8a526d26f9e7f01)

But in fact this issue already existed before, because after failing to find
a skinny extent item, the code set the search key for a non-skinny extent
item, and on contention of a matching delayed ref head it would not search
the extent tree for a skinny extent item anymore.

Signed-off-by: Filipe David Borba Manana &lt;fdmanana@gmail.com&gt;
Reviewed-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently extent-tree.c:btrfs_lookup_extent_info() can miss the lookup
of skinny extent items. This can happen when the execution flow is the
following:

* We do an extent tree lookup and fail to find a skinny extent item;

* As a result, we attempt to see if a non-skinny extent item exists,
  either by looking at previous item in the leaf or by doing another
  full extent tree search;

* We have a transaction and then we check for a matching delayed ref
  head in the transaction's delayed refs rbtree;

* We find such delayed ref head and then we try to lock it with a
  call to mutex_trylock();

* The lock was contended so we jump to the label "again", which repeats
  the extent tree search but for a non-skinny extent item, because we set
  previously metadata variable to 0 and the search key to look for a
  non-skinny extent-item;

* After the jump (and after releasing the transaction's delayed refs
  lock), a skinny extent item might have been added to the extent tree
  but we will miss it because metadata is set to 0 and the search key
  is set for a non-skinny extent-item.

The fix here is to not reset metadata to 0 and to jump to the initial search
key setup if the delayed ref head is contended, instead of jumping directly
to the extent tree search label ("again").

This issue was found while investigating the issue reported at Bugzilla 64961.

David Sterba suspected this function was missing extent items, and that
this could be caused by the last change to this function, which was made
in the following patch:

    [PATCH] Btrfs: optimize btrfs_lookup_extent_info()
    (commit 74be9510876a66ad9826613ac8a526d26f9e7f01)

But in fact this issue already existed before, because after failing to find
a skinny extent item, the code set the search key for a non-skinny extent
item, and on contention of a matching delayed ref head it would not search
the extent tree for a skinny extent item anymore.

Signed-off-by: Filipe David Borba Manana &lt;fdmanana@gmail.com&gt;
Reviewed-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>btrfs: call mnt_drop_write after interrupted subvol deletion</title>
<updated>2013-12-12T15:11:38+00:00</updated>
<author>
<name>David Sterba</name>
<email>dsterba@suse.cz</email>
</author>
<published>2013-12-06T16:51:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e43f998e47bae27e37e159915625e8d4b130153b'/>
<id>e43f998e47bae27e37e159915625e8d4b130153b</id>
<content type='text'>
If btrfs_ioctl_snap_destroy blocks on the mutex and the process is
killed, mnt_write count is unbalanced and leads to unmountable
filesystem.

CC: stable@vger.kernel.org
Signed-off-by: David Sterba &lt;dsterba@suse.cz&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If btrfs_ioctl_snap_destroy blocks on the mutex and the process is
killed, mnt_write count is unbalanced and leads to unmountable
filesystem.

CC: stable@vger.kernel.org
Signed-off-by: David Sterba &lt;dsterba@suse.cz&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Btrfs: don't clear the default compression type</title>
<updated>2013-12-12T15:11:19+00:00</updated>
<author>
<name>Miao Xie</name>
<email>miaox@cn.fujitsu.com</email>
</author>
<published>2013-11-22T10:47:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a7e252af5a819eb71c9494e62b2bfca982e92f84'/>
<id>a7e252af5a819eb71c9494e62b2bfca982e92f84</id>
<content type='text'>
We met a oops caused by the wrong compression type:
[  556.512356] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  556.512370] IP: [&lt;ffffffff811dbaa0&gt;] __list_del_entry+0x1/0x98
[SNIP]
[  556.512490]  [&lt;ffffffff811dbb44&gt;] ? list_del+0xd/0x2b
[  556.512539]  [&lt;ffffffffa05dd5ce&gt;] find_workspace+0x97/0x175 [btrfs]
[  556.512546]  [&lt;ffffffff813c14b5&gt;] ? _raw_spin_lock+0xe/0x10
[  556.512576]  [&lt;ffffffffa05de276&gt;] btrfs_compress_pages+0x2d/0xa2 [btrfs]
[  556.512601]  [&lt;ffffffffa05af060&gt;] compress_file_range.constprop.54+0x1f2/0x4e8 [btrfs]
[  556.512627]  [&lt;ffffffffa05af388&gt;] async_cow_start+0x32/0x4d [btrfs]
[  556.512655]  [&lt;ffffffffa05cc7a1&gt;] worker_loop+0x144/0x4c3 [btrfs]
[  556.512661]  [&lt;ffffffff81059404&gt;] ? finish_task_switch+0x80/0xb8
[  556.512689]  [&lt;ffffffffa05cc65d&gt;] ? btrfs_queue_worker+0x244/0x244 [btrfs]
[  556.512695]  [&lt;ffffffff8104fa4e&gt;] kthread+0x8d/0x95
[  556.512699]  [&lt;ffffffff81050000&gt;] ? bit_waitqueue+0x34/0x7d
[  556.512704]  [&lt;ffffffff8104f9c1&gt;] ? __kthread_parkme+0x65/0x65
[  556.512709]  [&lt;ffffffff813c7eec&gt;] ret_from_fork+0x7c/0xb0
[  556.512713]  [&lt;ffffffff8104f9c1&gt;] ? __kthread_parkme+0x65/0x65

Steps to reproduce:
 # mkfs.btrfs -f &lt;dev&gt;
 # mount -o nodatacow &lt;dev&gt; &lt;mnt&gt;
 # touch &lt;mnt&gt;/&lt;file&gt;
 # chattr =c &lt;mnt&gt;/&lt;file&gt;
 # dd if=/dev/zero of=&lt;mnt&gt;/&lt;file&gt; bs=1M count=10

It is because we cleared the default compression type when setting the
nodatacow. In fact, we needn't do it because we have used COMPRESS flag to
indicate if we need compressed the file data or not, needn't use the
variant -- compress_type -- in btrfs_info to do the same thing, and just
use it to hold the default compression type. Or we would get a wrong compress
type for a file whose own compress flag is set but the compress flag of its
filesystem is not set.

Reported-by: Tsutomu Itoh &lt;t-itoh@jp.fujitsu.com&gt;
Signed-off-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Reviewed-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We met a oops caused by the wrong compression type:
[  556.512356] BUG: unable to handle kernel NULL pointer dereference at           (null)
[  556.512370] IP: [&lt;ffffffff811dbaa0&gt;] __list_del_entry+0x1/0x98
[SNIP]
[  556.512490]  [&lt;ffffffff811dbb44&gt;] ? list_del+0xd/0x2b
[  556.512539]  [&lt;ffffffffa05dd5ce&gt;] find_workspace+0x97/0x175 [btrfs]
[  556.512546]  [&lt;ffffffff813c14b5&gt;] ? _raw_spin_lock+0xe/0x10
[  556.512576]  [&lt;ffffffffa05de276&gt;] btrfs_compress_pages+0x2d/0xa2 [btrfs]
[  556.512601]  [&lt;ffffffffa05af060&gt;] compress_file_range.constprop.54+0x1f2/0x4e8 [btrfs]
[  556.512627]  [&lt;ffffffffa05af388&gt;] async_cow_start+0x32/0x4d [btrfs]
[  556.512655]  [&lt;ffffffffa05cc7a1&gt;] worker_loop+0x144/0x4c3 [btrfs]
[  556.512661]  [&lt;ffffffff81059404&gt;] ? finish_task_switch+0x80/0xb8
[  556.512689]  [&lt;ffffffffa05cc65d&gt;] ? btrfs_queue_worker+0x244/0x244 [btrfs]
[  556.512695]  [&lt;ffffffff8104fa4e&gt;] kthread+0x8d/0x95
[  556.512699]  [&lt;ffffffff81050000&gt;] ? bit_waitqueue+0x34/0x7d
[  556.512704]  [&lt;ffffffff8104f9c1&gt;] ? __kthread_parkme+0x65/0x65
[  556.512709]  [&lt;ffffffff813c7eec&gt;] ret_from_fork+0x7c/0xb0
[  556.512713]  [&lt;ffffffff8104f9c1&gt;] ? __kthread_parkme+0x65/0x65

Steps to reproduce:
 # mkfs.btrfs -f &lt;dev&gt;
 # mount -o nodatacow &lt;dev&gt; &lt;mnt&gt;
 # touch &lt;mnt&gt;/&lt;file&gt;
 # chattr =c &lt;mnt&gt;/&lt;file&gt;
 # dd if=/dev/zero of=&lt;mnt&gt;/&lt;file&gt; bs=1M count=10

It is because we cleared the default compression type when setting the
nodatacow. In fact, we needn't do it because we have used COMPRESS flag to
indicate if we need compressed the file data or not, needn't use the
variant -- compress_type -- in btrfs_info to do the same thing, and just
use it to hold the default compression type. Or we would get a wrong compress
type for a file whose own compress flag is set but the compress flag of its
filesystem is not set.

Reported-by: Tsutomu Itoh &lt;t-itoh@jp.fujitsu.com&gt;
Signed-off-by: Miao Xie &lt;miaox@cn.fujitsu.com&gt;
Reviewed-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/linux-block</title>
<updated>2013-12-05T23:33:27+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-12-05T23:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5ee540613db504a10e15fafaf4c08cac96aa1823'/>
<id>5ee540613db504a10e15fafaf4c08cac96aa1823</id>
<content type='text'>
Pull block layer fixes from Jens Axboe:
 "A small collection of fixes for the current series. It contains:

   - A fix for a use-after-free of a request in blk-mq.  From Ming Lei

   - A fix for a blk-mq bug that could attempt to dereference a NULL rq
     if allocation failed

   - Two xen-blkfront small fixes

   - Cleanup of submit_bio_wait() type uses in the kernel, unifying
     that.  From Kent

   - A fix for 32-bit blkg_rwstat reading.  I apologize for this one
     looking mangled in the shortlog, it's entirely my fault for missing
     an empty line between the description and body of the text"

* 'for-linus' of git://git.kernel.dk/linux-block:
  blk-mq: fix use-after-free of request
  blk-mq: fix dereference of rq-&gt;mq_ctx if allocation fails
  block: xen-blkfront: Fix possible NULL ptr dereference
  xen-blkfront: Silence pfn maybe-uninitialized warning
  block: submit_bio_wait() conversions
  Update of blkg_stat and blkg_rwstat may happen in bh context
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull block layer fixes from Jens Axboe:
 "A small collection of fixes for the current series. It contains:

   - A fix for a use-after-free of a request in blk-mq.  From Ming Lei

   - A fix for a blk-mq bug that could attempt to dereference a NULL rq
     if allocation failed

   - Two xen-blkfront small fixes

   - Cleanup of submit_bio_wait() type uses in the kernel, unifying
     that.  From Kent

   - A fix for 32-bit blkg_rwstat reading.  I apologize for this one
     looking mangled in the shortlog, it's entirely my fault for missing
     an empty line between the description and body of the text"

* 'for-linus' of git://git.kernel.dk/linux-block:
  blk-mq: fix use-after-free of request
  blk-mq: fix dereference of rq-&gt;mq_ctx if allocation fails
  block: xen-blkfront: Fix possible NULL ptr dereference
  xen-blkfront: Silence pfn maybe-uninitialized warning
  block: submit_bio_wait() conversions
  Update of blkg_stat and blkg_rwstat may happen in bh context
</pre>
</div>
</content>
</entry>
<entry>
<title>block: submit_bio_wait() conversions</title>
<updated>2013-11-24T23:33:41+00:00</updated>
<author>
<name>Kent Overstreet</name>
<email>kmo@daterainc.com</email>
</author>
<published>2013-11-24T23:32:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c170bbb45febc03ac4d34ba2b8bb55e06104b7e7'/>
<id>c170bbb45febc03ac4d34ba2b8bb55e06104b7e7</id>
<content type='text'>
It was being open coded in a few places.

Signed-off-by: Kent Overstreet &lt;kmo@daterainc.com&gt;
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Prasad Joshi &lt;prasadjoshi.linux@gmail.com&gt;
Cc: Neil Brown &lt;neilb@suse.de&gt;
Cc: Chris Mason &lt;chris.mason@fusionio.com&gt;
Acked-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was being open coded in a few places.

Signed-off-by: Kent Overstreet &lt;kmo@daterainc.com&gt;
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Joern Engel &lt;joern@logfs.org&gt;
Cc: Prasad Joshi &lt;prasadjoshi.linux@gmail.com&gt;
Cc: Neil Brown &lt;neilb@suse.de&gt;
Cc: Chris Mason &lt;chris.mason@fusionio.com&gt;
Acked-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</pre>
</div>
</content>
</entry>
</feed>
