<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/block/drbd, branch v3.4.65</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/block/drbd?h=v3.4.65</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/block/drbd?h=v3.4.65'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-05-19T17:54:48Z</updated>
<entry>
<title>drbd: fix for deadlock when using automatic split-brain-recovery</title>
<updated>2013-05-19T17:54:48Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2013-03-27T13:08:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2e0bc33ad782e6dfc69796c4dcbbfa7338019548'/>
<id>urn:sha1:2e0bc33ad782e6dfc69796c4dcbbfa7338019548</id>
<content type='text'>
commit 7c689e63a847316c1b2500f86891b0a574ce7e69 upstream.

With an automatic after split-brain recovery policy of
"after-sb-1pri call-pri-lost-after-sb",
when trying to drbd_set_role() to R_SECONDARY,
we run into a deadlock.

This was first recognized and supposedly fixed by
2009-06-10 "Fixed a deadlock when using automatic split brain recovery when both nodes are"
replacing drbd_set_role() with drbd_change_state() in that code-path,
but the first hunk of that patch forgets to remove the drbd_set_role().

We apparently only ever tested the "two primaries" case.

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Jonghwan Choi &lt;jhbird.choi@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>drbd: add missing part_round_stats to _drbd_start_io_acct</title>
<updated>2013-01-21T19:45:25Z</updated>
<author>
<name>Philipp Reisner</name>
<email>philipp.reisner@linbit.com</email>
</author>
<published>2012-02-23T11:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d239fdb0d4d3088b5161f0c92ed929143b45d830'/>
<id>urn:sha1:d239fdb0d4d3088b5161f0c92ed929143b45d830</id>
<content type='text'>
commit 72585d2428fa3a0daab02ebad1f41e5ef517dbaa upstream.

Without this, iostat frequently sees bogus svctime and &gt;= 100% "utilization".

Signed-off-by: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Signed-off-by: Lars Ellenberg &lt;lars.ellenberg@linbit.com&gt;
Cc: Raoul Bhatia &lt;raoul@bhatia.at&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>connector/userns: replace netlink uses of cap_raised() with capable()</title>
<updated>2012-05-11T03:21:39Z</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2012-05-04T11:34:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=38bf1953987c1735f3c9140fca762949a8cae507'/>
<id>urn:sha1:38bf1953987c1735f3c9140fca762949a8cae507</id>
<content type='text'>
In 2009 Philip Reiser notied that a few users of netlink connector
interface needed a capability check and added the idiom
cap_raised(nsp-&gt;eff_cap, CAP_SYS_ADMIN) to a few of them, on the premise
that netlink was asynchronous.

In 2011 Patrick McHardy noticed we were being silly because netlink is
synchronous and removed eff_cap from the netlink_skb_params and changed
the idiom to cap_raised(current_cap(), CAP_SYS_ADMIN).

Looking at those spots with a fresh eye we should be calling
capable(CAP_SYS_ADMIN).  The only reason I can see for not calling capable
is that it once appeared we were not in the same task as the caller which
would have made calling capable() impossible.

In the initial user_namespace the only difference between between
cap_raised(current_cap(), CAP_SYS_ADMIN) and capable(CAP_SYS_ADMIN) are a
few sanity checks and the fact that capable(CAP_SYS_ADMIN) sets
PF_SUPERPRIV if we use the capability.

Since we are going to be using root privilege setting PF_SUPERPRIV seems
the right thing to do.

The motivation for this that patch is that in a child user namespace
cap_raised(current_cap(),...) tests your capabilities with respect to that
child user namespace not capabilities in the initial user namespace and
thus will allow processes that should be unprivielged to use the kernel
services that are only protected with cap_raised(current_cap(),..).

To fix possible user_namespace issues and to just clean up the code
replace cap_raised(current_cap(), CAP_SYS_ADMIN) with
capable(CAP_SYS_ADMIN).

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Cc: Patrick McHardy &lt;kaber@trash.net&gt;
Cc: Philipp Reisner &lt;philipp.reisner@linbit.com&gt;
Acked-by: Serge E. Hallyn &lt;serge.hallyn@canonical.com&gt;
Acked-by: Andrew G. Morgan &lt;morgan@kernel.org&gt;
Cc: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Reviewed-by: James Morris &lt;james.l.morris@oracle.com&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>usermodehelper: use UMH_WAIT_PROC consistently</title>
<updated>2012-03-23T23:58:41Z</updated>
<author>
<name>Oleg Nesterov</name>
<email>oleg@redhat.com</email>
</author>
<published>2012-03-23T22:02:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=70834d3070c3f3015ab5c05176d54bd4a0100546'/>
<id>urn:sha1:70834d3070c3f3015ab5c05176d54bd4a0100546</id>
<content type='text'>
A few call_usermodehelper() callers use the hardcoded constant instead of
the proper UMH_WAIT_PROC, fix them.

Reported-by: Tetsuo Handa &lt;penguin-kernel@i-love.sakura.ne.jp&gt;
Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;
Cc: Lars Ellenberg &lt;drbd-dev@lists.linbit.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: Michal Januszewski &lt;spock@gentoo.org&gt;
Cc: Florian Tobias Schandinat &lt;FlorianSchandinat@gmx.de&gt;
Cc: Kentaro Takeda &lt;takedakn@nttdata.co.jp&gt;
Cc: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>drbd: remove the second argument of k[un]map_atomic()</title>
<updated>2012-03-20T13:48:29Z</updated>
<author>
<name>Cong Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2011-11-25T15:51:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=589973a7042f5a91a5b8bf78a32c97ae073e2c72'/>
<id>urn:sha1:589973a7042f5a91a5b8bf78a32c97ae073e2c72</id>
<content type='text'>
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
</content>
</entry>
<entry>
<title>block: remove the second argument of k[un]map_atomic()</title>
<updated>2012-03-20T13:48:16Z</updated>
<author>
<name>Cong Wang</name>
<email>amwang@redhat.com</email>
</author>
<published>2011-11-25T15:14:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cfd8005c99c68882e962807d36603791adddfb9f'/>
<id>urn:sha1:cfd8005c99c68882e962807d36603791adddfb9f</id>
<content type='text'>
Signed-off-by: Cong Wang &lt;amwang@redhat.com&gt;
</content>
</entry>
<entry>
<title>module_param: make bool parameters really bool (drivers &amp; misc)</title>
<updated>2012-01-12T23:02:20Z</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2012-01-12T23:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=90ab5ee94171b3e28de6bb42ee30b527014e0be7'/>
<id>urn:sha1:90ab5ee94171b3e28de6bb42ee30b527014e0be7</id>
<content type='text'>
module_param(bool) used to counter-intuitively take an int.  In
fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
trick.

It's time to remove the int/unsigned int option.  For this version
it'll simply give a warning, but it'll break next kernel version.

Acked-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-block</title>
<updated>2011-11-05T00:06:58Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-11-05T00:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b4fdcb02f1e39c27058a885905bd0277370ba441'/>
<id>urn:sha1:b4fdcb02f1e39c27058a885905bd0277370ba441</id>
<content type='text'>
* 'for-3.2/core' of git://git.kernel.dk/linux-block: (29 commits)
  block: don't call blk_drain_queue() if elevator is not up
  blk-throttle: use queue_is_locked() instead of lockdep_is_held()
  blk-throttle: Take blkcg-&gt;lock while traversing blkcg-&gt;policy_list
  blk-throttle: Free up policy node associated with deleted rule
  block: warn if tag is greater than real_max_depth.
  block: make gendisk hold a reference to its queue
  blk-flush: move the queue kick into
  blk-flush: fix invalid BUG_ON in blk_insert_flush
  block: Remove the control of complete cpu from bio.
  block: fix a typo in the blk-cgroup.h file
  block: initialize the bounce pool if high memory may be added later
  block: fix request_queue lifetime handling by making blk_queue_cleanup() properly shutdown
  block: drop @tsk from attempt_plug_merge() and explain sync rules
  block: make get_request[_wait]() fail if queue is dead
  block: reorganize throtl_get_tg() and blk_throtl_bio()
  block: reorganize queue draining
  block: drop unnecessary blk_get/put_queue() in scsi_cmd_ioctl() and blk_get_tg()
  block: pass around REQ_* flags instead of broken down booleans during request alloc/free
  block: move blk_throtl prototypes to block/blk.h
  block: fix genhd refcounting in blkio_policy_parse_and_set()
  ...

Fix up trivial conflicts due to "mddev_t" -&gt; "struct mddev" conversion
and making the request functions be of type "void" instead of "int" in
 - drivers/md/{faulty.c,linear.c,md.c,md.h,multipath.c,raid0.c,raid1.c,raid10.c,raid5.c}
 - drivers/staging/zram/zram_drv.c
</content>
</entry>
<entry>
<title>Merge branch 'v3.1-rc10' into for-3.2/core</title>
<updated>2011-10-19T12:30:42Z</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@kernel.dk</email>
</author>
<published>2011-10-19T12:30:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5c04b426f2e8b46cfc7969a35b2631063a3c646c'/>
<id>urn:sha1:5c04b426f2e8b46cfc7969a35b2631063a3c646c</id>
<content type='text'>
Conflicts:
	block/blk-core.c
	include/linux/blkdev.h

Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' into for-next</title>
<updated>2011-09-15T13:08:18Z</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2011-09-15T13:08:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e060c38434b2caa78efe7cedaff4191040b65a15'/>
<id>urn:sha1:e060c38434b2caa78efe7cedaff4191040b65a15</id>
<content type='text'>
Fast-forward merge with Linus to be able to merge patches
based on more recent version of the tree.
</content>
</entry>
</feed>
