History log of /drivers/block/drbd/drbd_nl.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
38bf1953987c1735f3c9140fca762949a8cae507 04-May-2012 Eric W. Biederman <ebiederm@xmission.com> connector/userns: replace netlink uses of cap_raised() with capable()

In 2009 Philip Reiser notied that a few users of netlink connector
interface needed a capability check and added the idiom
cap_raised(nsp->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 <ebiederm@xmission.com>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Acked-by: Serge E. Hallyn <serge.hallyn@canonical.com>
Acked-by: Andrew G. Morgan <morgan@kernel.org>
Cc: Vasiliy Kulikov <segoon@openwall.com>
Cc: David Howells <dhowells@redhat.com>
Reviewed-by: James Morris <james.l.morris@oracle.com>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/block/drbd/drbd_nl.c
70834d3070c3f3015ab5c05176d54bd4a0100546 23-Mar-2012 Oleg Nesterov <oleg@redhat.com> usermodehelper: use UMH_WAIT_PROC consistently

A few call_usermodehelper() callers use the hardcoded constant instead of
the proper UMH_WAIT_PROC, fix them.

Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: Lars Ellenberg <drbd-dev@lists.linbit.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Michal Januszewski <spock@gentoo.org>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Cc: James Morris <jmorris@namei.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/drivers/block/drbd/drbd_nl.c
cfd8005c99c68882e962807d36603791adddfb9f 25-Nov-2011 Cong Wang <amwang@redhat.com> block: remove the second argument of k[un]map_atomic()

Signed-off-by: Cong Wang <amwang@redhat.com>
/drivers/block/drbd/drbd_nl.c
e060c38434b2caa78efe7cedaff4191040b65a15 15-Sep-2011 Jiri Kosina <jkosina@suse.cz> Merge branch 'master' into for-next

Fast-forward merge with Linus to be able to merge patches
based on more recent version of the tree.
1d273b929cad7b1ee95d5c15ac806b3abc764278 03-Jun-2011 Joe Perches <joe@perches.com> drbd: Use angle brackets for system includes

Use the normal include style.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
/drivers/block/drbd/drbd_nl.c
ddad9ef5826efdfbbdb67b13b46f30e43e46ec3e 02-Aug-2011 H Hartley Sweeten <hartleys@visionengravers.com> drivers/block/drbd/drbd_nl.c: use bitmap_parse instead of __bitmap_parse

The buffer 'sc.cpu_mask' is a kernel buffer. If bitmap_parse is used
instead of __bitmap_parse the extra parameter that indicates a kernel
buffer is not needed.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Lars Ellenberg <drbd-dev@lists.linbit.com>
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/drivers/block/drbd/drbd_nl.c
9b2f61aec73dc9e735e247fd720c673b30999e7c 24-May-2011 Philipp Reisner <philipp.reisner@linbit.com> drbd: fix warning

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
/drivers/block/drbd/drbd_nl.c
24c4830c8ec3cbc904d84c213126a35f41a4e455 21-May-2011 Bart Van Assche <bvanassche@acm.org> drbd: Fix spelling

Found these with the help of ispell -l.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
/drivers/block/drbd/drbd_nl.c
9a0d9d0389ef769e4b01abf50fcc11407706270b 02-May-2011 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: fix schedule in atomic

An administrative detach used to request a state change directly to D_DISKLESS,
first suspending IO to avoid the last put_ldev() occuring from an endio handler,
potentially in irq context.

This is not enough on the receiving side (typically secondary), we may miss
some peer_req on the way to local disk, which then may do the last put_ldev()
from their drbd_peer_request_endio().

This patch makes the detach always go through the intermediate D_FAILED state.
We may consider to rename it D_DETACHING.

Alternative approach would be to create yet an other work item to be scheduled
on the worker, do the destructor work from there, and get the timing right.

manually picked commit 564040f from the drbd 8.4 branch.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
99432fcc528d7a5ac8494a4c07ad4726670c96e2 20-May-2011 Philipp Reisner <philipp.reisner@linbit.com> drbd: Take a more conservative approach when deciding max_bio_size

The old (optimistic) implementation could shrink the bio size
on an primary device.

Shrinking the bio size on a primary device is bad. Since there
we might get BIOs with the old (bigger) size shortly after
we published the new size.

The new implementation is more conservative, and eventually
increases the max_bio_size on a primary device (which is valid).
It does so, when it knows the local limit AND the remote limit.

We cache the last seen max_bio_size of the peer in the meta
data, and rely on that, to make the operation of single
nodes more efficient.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
21423fa79119a80e335de0c82ec29f67ed59f1bc 17-May-2011 Philipp Reisner <philipp.reisner@linbit.com> drbd: Fixed state transitions after async outdate-peer-handler returned

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
8d49a77568d1105ff3e64aec484dac059f54824e 28-Mar-2011 Linus Torvalds <torvalds@linux-foundation.org> Merge branch 'for-2.6.39/drivers' of git://git.kernel.dk/linux-2.6-block

* 'for-2.6.39/drivers' of git://git.kernel.dk/linux-2.6-block: (122 commits)
cciss: fix lost command issue
drbd: need include for bitops functions declarations
Revert "cciss: Add missing allocation in scsi_cmd_stack_setup and corresponding deallocation"
cciss: fix missed command status value CMD_UNABORTABLE
cciss: remove unnecessary casts
cciss: Mask off error bits of c->busaddr in cmd_special_free when calling pci_free_consistent
cciss: Inform controller we are using 32-bit tags.
cciss: hoist tag masking out of loop
cciss: Add missing allocation in scsi_cmd_stack_setup and corresponding deallocation
cciss: export resettable host attribute
drbd: drop code present under #ifdef which is relevant to 2.6.28 and below
drbd: Fixed handling of read errors on a 'VerifyS' node
drbd: Fixed handling of read errors on a 'VerifyT' node
drbd: Implemented real timeout checking for request processing time
drbd: Remove unused function atodb_endio()
drbd: improve log message if received sector offset exceeds local capacity
drbd: kill dead code
drbd: don't BUG_ON, if bio_add_page of a single page to an empty bio fails
drbd: Removed left over, now wrong comments
drbd: serialize admin requests for new verify run with pending bitmap io
...
873b0d5f98ab70e4df7a62b2ef0305373f88f330 21-Jan-2011 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: serialize admin requests for new verify run with pending bitmap io

This is an addendum to
drbd: serialize admin requests for new resync with pending bitmap io

It avoids a race that could trigger "FIXME" assert log messages.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
20ceb2b22edaf51e59e76087efdc71a16a2858de 21-Jan-2011 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: describe bitmap locking for bulk operation in finer detail

Now that we do no longer in-place endian-swap the bitmap, we allow
selected bitmap operations (testing bits, sometimes even settting bits)
during some bulk operations.

This caused us to hit a lot of FIXME asserts similar to
FIXME asender in drbd_bm_count_bits,
bitmap locked for 'write from resync_finished' by worker
Which now is nonsense: looking at the bitmap is perfectly legal
as long as it is not being resized.

This cosmetic patch defines some flags to describe expectations in finer
detail, so the asserts in e.g. bm_change_bits_to() can be skipped if
appropriate.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
62b0da3a244ac33d25a77861ef1cc0080103f2ff 20-Jan-2011 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: log UUIDs whenever they change

All decisions about sync, sync direction, and wether or not to
allow a connect or attach are based on our set of UUIDs to tag a
data generation.

Log changes to the UUIDs whenever they occur,
logging "new current UUID P:Q:R:S" is more useful
than "Creating new current UUID".

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
cd88d030d41a9b0100fd5fee872024e6ebc8b276 20-Jan-2011 Philipp Reisner <philipp.reisner@linbit.com> drbd: Provide hints with the error message when clearing the sync pause flag

When the user clears the sync-pause flag, and sync stays in pause
state, give hints to the user, why it still is in pause state.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
194bfb32dba8345a7e0f83e9b1ee965e14d4b679 18-Jan-2011 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: serialize admin requests for new resync with pending bitmap io

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
20ee639024e3d33111df0e343050b218c656bf16 18-Jan-2011 Philipp Reisner <philipp.reisner@linbit.com> drbd: cleaned up __set_current_state() followed by schedule_timeout() calls

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
4b0715f09655e76ca24c35a9e25e7c464c2f7346 14-Dec-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: allow petabyte storage on 64bit arch

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
19f843aa08e2d8f87a09b4c2edc43b00638423a8 15-Dec-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: bitmap keep track of changes vs on-disk bitmap

When we set or clear bits in a bitmap page,
also set a flag in the page->private pointer.

This allows us to skip writes of unchanged pages.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
24dccabb390412d04435e11cfb535df51def7b2d 12-Dec-2010 Andreas Gruenbacher <agruen@linbit.com> drbd: Fix: drbd_bitmap_io does not return an enum determine_dev_size

I guess bitmap I/O errors are supposed to cause drbd_determin_dev_size
to return dev_size_error.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
f2024e7ce29f4287395ce879364cd68c7ac226f2 10-Dec-2010 Andreas Gruenbacher <agruen@linbit.com> drbd: drbd_nl_disk_conf: Avoid a compiler warning

Warning: comparison between ‘enum drbd_ret_code’ and ‘enum drbd_state_rv’

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
81e84650c200de0695372461964dd960365696db 09-Dec-2010 Andreas Gruenbacher <agruen@linbit.com> drbd: Use the standard bool, true, and false keywords

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
bf885f8a6772fb48409dd505a09d974a5e621f22 08-Dec-2010 Andreas Gruenbacher <agruen@linbit.com> drbd: Be more explicit about functions that return an enum drbd_state_rv

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
116676ca621a862a8124969772f4dd61c8b40eee 08-Dec-2010 Andreas Gruenbacher <agruen@linbit.com> drbd: Rename enum drbd_ret_codes to enum drbd_ret_code

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
2561b9c1f1d63077c41903fc6ad58dc9ec47248b 03-Dec-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: --force option for disconnect

As the network connection can be lost at any time, a --force option
for disconnect is just a matter of completeness.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
42ff269d1022a86be4f526cf674998c47b7ab856 24-Nov-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: add packet_type 27 (return_code_only) to netlink api

In case we ever should add an other packet type,
we must not reuse 27, as that currently used for
"empty" return code only replies.
Document it as such.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
3e3a7766c2e6995ac98e7855017abc3544d54e08 24-Nov-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: use kzalloc and memset(,0,) to start with clean buffers in drbd_nl

Make sure we start with clean buffers to not accidentally send garbage
back to userspace. Note: has not been observed; but just in case.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
422028b1ca4c07995af82a18abced022ff4c296c 27-Oct-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: New configuration parameters for dealing with network congestion

net {
on_congestion {block|pull-ahead|disconnect};
congestion-fill {sectors};
congestion-extents {al-extents};
}

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
1816a2b47afae838e53a177d5d166cc7be97d6b5 11-Nov-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: properly use max_hw_sectors to limit the our bio size

To ease tracking of bios in some hash tables, we want it to
not cross certain boundaries (128k, used to be 32k).
We limit the maximum bio size using queue parameters.

Historically some defines and variables we use there have been named
max_segment_size, which was misguided. Rename them to max_bio_size,
and use [blk_]queue_max_hw_sectors where appropriate.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
3129b1b9aed15bbebde1b2a5719434273feb295d 11-Nov-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: debug: limit nelink-broadcast of request on digest mismatch to 32k

We used to be limited to 32k requests,
but have increased that limit to 128k now.

This part of the code can only deal with 32k,
it would scramble arbitrary pages for larger requests.

As it is used for debugging only anyways,
it is ok to simply truncate the dumped data here.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
01a16b21d6adf992aa863186c3c4e561a57c1714 03-Mar-2011 Patrick McHardy <kaber@trash.net> netlink: kill eff_cap from struct netlink_skb_parms

Netlink message processing in the kernel is synchronous these days,
capabilities can be checked directly in security_netlink_recv() from
the current process.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Reviewed-by: James Morris <jmorris@namei.org>
[chrisw: update to include pohmelfs and uvesafb]
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
/drivers/block/drbd/drbd_nl.c
f30195c50245d8ace628e1978b1daa8df86e7224 27-Nov-2010 Jens Axboe <jaxboe@fusionio.com> Merge branch 'cleanup-bd_claim' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into for-2.6.38/core
d4d77629953eabd3c14f6fa5746f6b28babfc55f 13-Nov-2010 Tejun Heo <tj@kernel.org> block: clean up blkdev_get() wrappers and their users

After recent blkdev_get() modifications, open_by_devnum() and
open_bdev_exclusive() are simple wrappers around blkdev_get().
Replace them with blkdev_get_by_dev() and blkdev_get_by_path().

blkdev_get_by_dev() is identical to open_by_devnum().
blkdev_get_by_path() is slightly different in that it doesn't
automatically add %FMODE_EXCL to @mode.

All users are converted. Most conversions are mechanical and don't
introduce any behavior difference. There are several exceptions.

* btrfs now sets FMODE_EXCL in btrfs_device->mode, so there's no
reason to OR it explicitly on blkdev_put().

* gfs2, nilfs2 and the generic mount_bdev() now set FMODE_EXCL in
sb->s_mode.

* With the above changes, sb->s_mode now always should contain
FMODE_EXCL. WARN_ON_ONCE() added to kill_block_super() to detect
errors.

The new blkdev_get_*() functions are with proper docbook comments.
While at it, add function description to blkdev_get() too.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Joern Engel <joern@lazybastard.org>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Jan Kara <jack@suse.cz>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
Cc: reiserfs-devel@vger.kernel.org
Cc: xfs-masters@oss.sgi.com
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
/drivers/block/drbd/drbd_nl.c
e525fd89d380c4a94c0d63913a1dd1a593ed25e7 13-Nov-2010 Tejun Heo <tj@kernel.org> block: make blkdev_get/put() handle exclusive access

Over time, block layer has accumulated a set of APIs dealing with bdev
open, close, claim and release.

* blkdev_get/put() are the primary open and close functions.

* bd_claim/release() deal with exclusive open.

* open/close_bdev_exclusive() are combination of open and claim and
the other way around, respectively.

* bd_link/unlink_disk_holder() to create and remove holder/slave
symlinks.

* open_by_devnum() wraps bdget() + blkdev_get().

The interface is a bit confusing and the decoupling of open and claim
makes it impossible to properly guarantee exclusive access as
in-kernel open + claim sequence can disturb the existing exclusive
open even before the block layer knows the current open if for another
exclusive access. Reorganize the interface such that,

* blkdev_get() is extended to include exclusive access management.
@holder argument is added and, if is @FMODE_EXCL specified, it will
gain exclusive access atomically w.r.t. other exclusive accesses.

* blkdev_put() is similarly extended. It now takes @mode argument and
if @FMODE_EXCL is set, it releases an exclusive access. Also, when
the last exclusive claim is released, the holder/slave symlinks are
removed automatically.

* bd_claim/release() and close_bdev_exclusive() are no longer
necessary and either made static or removed.

* bd_link_disk_holder() remains the same but bd_unlink_disk_holder()
is no longer necessary and removed.

* open_bdev_exclusive() becomes a simple wrapper around lookup_bdev()
and blkdev_get(). It also has an unexpected extra bdev_read_only()
test which probably should be moved into blkdev_get().

* open_by_devnum() is modified to take @holder argument and pass it to
blkdev_get().

Most of bdev open/close operations are unified into blkdev_get/put()
and most exclusive accesses are tested atomically at the open time (as
it should). This cleans up code and removes some, both valid and
invalid, but unnecessary all the same, corner cases.

open_bdev_exclusive() and open_by_devnum() can use further cleanup -
rename to blkdev_get_by_path() and blkdev_get_by_devt() and drop
special features. Well, let's leave them for another day.

Most conversions are straight-forward. drbd conversion is a bit more
involved as there was some reordering, but the logic should stay the
same.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Neil Brown <neilb@suse.de>
Acked-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Acked-by: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Peter Osterlund <petero2@telia.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <joel.becker@oracle.com>
Cc: Alex Elder <aelder@sgi.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: dm-devel@redhat.com
Cc: drbd-dev@lists.linbit.com
Cc: Leo Chen <leochen@broadcom.com>
Cc: Scott Branden <sbranden@broadcom.com>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
Cc: Joern Engel <joern@logfs.org>
Cc: reiserfs-devel@vger.kernel.org
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
/drivers/block/drbd/drbd_nl.c
a8a4e51e6965db84d2af041370ea2ab6232aa4f1 25-Aug-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: REQ_HARDBARRIER -> REQ_FUA transition for meta data accesses

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
2451fc3b2bd3a7205270da75a21dde0d5d7c96a2 24-Aug-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Removed the BIO_RW_BARRIER support form the receiver/epoch code

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
82f59cc6353889b426cf13b6596d5a3d100fa09e 16-Oct-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: fix potential deadlock on detach

If we have contention in drbd_al_begin_iod (heavy randon IO),
an administrative request to detach the disk may deadlock
for similar reasons as the recently fixed deadlock if detaching
because of IO-error.

The approach taken here is to either go through the intermediate
cleanup state D_FAILED, or first lock out application io,
don't just go directly to D_DISKLESS.

We need an additional state bit (WAS_IO_ERROR) to distinguish
the -> D_FAILED because of IO-error from other failures.

Sanitize D_ATTACHING -> D_FAILED to D_ATTACHING -> D_DISKLESS.
If only attaching, ldev may be missing still, but would be referenced
from within the after_state_ch for -> D_FAILED, potentially
dereferencing a NULL pointer.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
aaa8e2b34c35d67abf1892cd62ea4e7565ca262c 15-Oct-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: consolidate explicit drbd_md_sync into drbd_create_new_uuid

Every code path changing the current UUID needs to get it on stable
storage anyways. Flush it to disk right there, remove the now obsolte
explicit drbd_md_sync statements in the other code paths.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
0f8488e1608b6e30e705460f8110888c645f7f9f 13-Oct-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: cleanup useless leftover warn/error printk's

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
8979d9c9e0bc8e54cf5bd7a89abb2145f087b5e1 14-Sep-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: protocol compatibility for maximum packet sizes

Two missing corner cases to the "maximum packet size" handshake.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
fb22c402ffdf61dd121795b5809de587185d5240 08-Sep-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Track the reasons to suspend IO in dedicated state bits

There are three ways to get IO suspended:

* Loss of any access to data
* Fence-peer-handler running
* User requested to suspend IO

Track those in different bits, so that one condition clearing its
state bit does not interfere with the other two conditions.

Only when the user resumes IO he overrules all three bits.

The fact is hidden from the user, he sees only a single suspend
bit.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
1090c056c5eb6d5335cceb381683e77ac24c71ab 19-Jul-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: drbd_md_sync before calling user space helpers

Just in case we have some pending meta data changes to sync, do it
before we call our userland helper, as that may take some time,
or even cause a hard reboot.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
ef50a3e34f93a067ada541346be3175e924331a2 01-Sep-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: implicitly create unconfigured devices on sync-after dependencies

If pacemaker (for example) decided to initialize minor devices not in
the exact sync-after dependency order, the configuration partially
failed with an error "The sync-after minor number is invalid". (Bugz. #322)

We can avoid that by implicitly creating unconfigured minor devices,
if others depend on them.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
c518d04fdec3d8b9d6f8b2228040934de9ee6708 01-Sep-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: fix race between deconfiguring and reconfiguring network

If a drbd_nl_net_conf hits the small window between the state change
to C_STANDALONE and the corresponding cleanup in after_state_ch,
that cleanup would throw away stuff we now need again,
and later trigger BUG_ON()s.

Fixed by properly serializing the new config request with
any pending cleanup.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
0778286a133d2d3f81861a4e5db308e359583006 31-Aug-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Disable activity log updates when the whole device is out of sync

When the complete device is marked as out of sync, we can disable
updates of the on disk AL. Currently AL updates are only disabled
if one uses the "invalidate-remote" command on an unconnected,
primary device, or when at attach time all bits in the bitmap are
set.

As of now, AL updated do not get disabled when a all bits becomes
set due to application writes to an unconnected DRBD device.
While this is a missing feature, it is not considered important,
and might get added later.

BTW, after initializing a "one legged" DRBD device
drbdadm create-md resX
drbdadm -- --force primary resX
AL updates also get disabled, until the first connect.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
d53733893dc43f4ebb5be510863c5debf0f8990b 23-Aug-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Actually allow BIOs up to 128k (was 32k).

Now we have multiple BIOs per ee, packets with a 32 bit length field,
it gets time to use these goodies.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
0f0601f4ea2f53cfd8bcae060fb03d9bbde070ec 11-Aug-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: new configuration parameter c-min-rate

We now track the data rate of locally submitted resync related requests,
and can thus detect non-resync activity on the lower level device.

If the current sync rate is above c-min-rate, and the lower level device
appears to be busy, we throttle the resyncer.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
778f271dfe7a7173c0bae2d6cde8d9bd1533e668 06-Jul-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: The new, smarter resync speed controller

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
9a31d7164d409ca59cfadb7957ac7b0acf4545b8 05-Jul-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: New sync parameters for the smart resync rate controller

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
f70b3511599c49a3dc20ae349d6cdc5af47659df 24-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Do not try to free tl_hash in drbd_disconnect() when IO is suspended

We may not free tl_hash when IO is suspended, since we can not wait
until ap_bio_cnt reaches zero.

We can do this after susp reched 0, since then tl_clear was called

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
8f488156c0635dcc9c668737d05386113a745ef9 24-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Allow attach while IO is suspended

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
481c6f503213ab14f69ce88fff7b1ece325522f2 22-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Ensure that the peer was not rebootet in the meantime before resending TL

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
43a5182cccae5850f7590f78dd9651bd407be440 11-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Delayed creation of current-UUID

When a fencing policy of "resource-and-stonith" is configured,
and DRBD looses connection to it's peer, we can delay the
creation of a new current-UUID until IO gets thawed.

That allows one to deploy fence-peer handlers that actually
commit suicide on the machine they get started.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
87f7be4cf88e93069f4cc63baf2ce70fdfc59c63 11-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Run the fence-peer helper asynchronously

Since we can not thaw the transfer log, the next logical step is
to allow reconnects while the fence-peer handler runs.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
894c6a946199cf91e52bc1864c3dc6529cceb3db 18-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Disabled the crashed_primary detection for re-attach of last data while IO is frozen

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
47ff2d0a8e7ce87fed180729e8341f650bf585c8 18-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Do not allow a fencing-policy of resource-and-stonith with protocol A

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
265be2d09853d425ad14a61cda0ca63345613d0c 31-May-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Finished the "on-no-data-accessible suspend-io;" functionality

When no data is accessible (no connection to the peer, nor a local disk)
allow the user to select to freeze all IO operations instead of getting
IO errors.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
e7f52dfb4f378ea1bbfd4476f4e8ba42f5fb332c 03-Aug-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: revert "delay probes", feature is being re-implemented differently

It was a now abandoned attempt to throttle resync bandwidth
based on the delay it causes on the bulk data socket.
It has no userbase yet, and has been disabled by
9173465ccb51c09cc3102a10af93e9f469a0af6f already.
This removes the now unused code.

The basic feature, namely using up "idle" bandwith
of network and disk IO subsystem, with minimal impact
to application IO, is being reimplemented differently.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
/drivers/block/drbd/drbd_nl.c
dc66c74de6f4238020db3e2041d4aca5c5b3e9bc 02-Jun-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Fixed a race between disk-attach and unexpected state changes

This was a very hard to trigger race condition.

If we got a state packet from the peer, after drbd_nl_disk() has
already changed the disk state to D_NEGOTIATING but
after_state_ch() was not yet run by the worker, then receive_state()
might called drbd_sync_handshake(), which in turn crashed
when accessing p_uuid.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
2db4e42eaceabec42f738f3895300632cd375e67 13-May-2010 Julia Lawall <julia@diku.dk> drivers/block/drbd: Use kzalloc

Use kzalloc rather than the combination of kmalloc and memset.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,size,flags;
statement S;
@@

-x = kmalloc(size,flags);
+x = kzalloc(size,flags);
if (x == NULL) S
-memset(x, 0, size);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
a1c88d0d7aa2ef427f78834c9a3b0a673a19dca6 14-May-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: always use_bmbv, ignore setting

Now that the peer may handle multi-bio EEs,
we can ignore the peer's limit,
and concentrate on the limits of the local IO stack.

This is safe accross drbd protocol versions,
as our queue_max_sectors() will be adjusted accordingly.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
45bb912bd5ea4d2b3a270a93cbdf767a0e2df6f5 14-May-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: Allow drbd_epoch_entries to use multiple bios.
This should allow for better performance if the lower level IO stack
of the peers differs in limits exposed either via the queue,
or via some merge_bvec_fn.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
67c7ddd055c794f0d8e9466ca2d6b5cc0b73d4df 04-May-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Four new configuration settings for resync speed control

To reasonably control resync speed over drbd-proxy connections,
drbd has to measure the current delay of packets transmitted over
the (possibly congested) data socket vs the meta-data socket.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
087c24925cf4209be1a91f8ede9241e17e9734c7 26-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: bugfix: Make resize work, if remote's size was limiting and increased in the meantime

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
6495d2c6d04f4c45411fdb1b40527c24015f39d6 24-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Implemented the --assume-clean option for drbdsetup resize

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
e89b591c3aba0af87f5248b15f56ce7a4f439c16 24-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Implemented flags for the resize packet

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
02d9a94bbb0d4e0fec8db6735bdc4ccfaac8f0ce 24-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Implemented the set_new_bits parameter for drbd_bm_resize()

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
d845030f21859dd11bcecc7e1b8575fb845eb425 24-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: made determin_dev_size's parameter an flag enum

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
1f55243024087b56aef0b1e6d9c0ea89c76f0a6b 04-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Renamed overwrite_peer to primary_force

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
d10a33c68b8526d95ef6ee72b371c392d48df4d3 04-Mar-2010 Philipp Reisner <philipp.reisner@linbit.com> drbd: Forcing primary should also work for Consistent disks [Bugz 266]

Up to now this only worked for Outdated and Inconsistent disks, that
it did not worked for Consistent disks was an inconsistent omission.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
4aa83b7bf122106669346eef40632289f540653f 26-Feb-2010 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: fix NULL pointer dereference on 4k hard sect size

we still don't support 4k 'physical' sectors 'natively',
but use a read-modify-write workaround.
And we even tried to use the extra page before we allocated it :(

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
8a78362c4eefc1deddbefe2c7f38aabbc2429d6b 26-Feb-2010 Martin K. Petersen <martin.petersen@oracle.com> block: Consolidate phys_segment and hw_segment limits

Except for SCSI no device drivers distinguish between physical and
hardware segment limits. Consolidate the two into a single segment
limit.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/drivers/block/drbd/drbd_nl.c
086fa5ff0854c676ec333760f4c0154b3b242616 26-Feb-2010 Martin K. Petersen <martin.petersen@oracle.com> block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors

The block layer calling convention is blk_queue_<limit name>.
blk_queue_max_sectors predates this practice, leading to some confusion.
Rename the function to appropriately reflect that its intended use is to
set max_hw_sectors.

Also introduce a temporary wrapper for backwards compability. This can
be removed after the merge window is closed.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/drivers/block/drbd/drbd_nl.c
a393db6f10ef2d4f28257234cfc730e744dfb6a4 22-Dec-2009 Philipp Reisner <philipp.reisner@linbit.com> drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
0798219f6154baa6a8efe767bfffb4a724e4b1e1 28-Dec-2009 Philipp Reisner <philipp.reisner@linbit.com> drbd: Use drbd_crypto_is_hash() instead of an open coded check

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
8b43aebdaa4fa3348dafd6f2f5f526bd3e8b84ac 06-Dec-2009 Philipp Reisner <philipp.reisner@linbit.com> drbd: Following the hmac change to SHASH (see linux commit 8bd1209cfff)

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/drivers/block/drbd/drbd_nl.c
6c6c7951be7652f86109f2193651b78d90907c0d 16-Nov-2009 Lars Ellenberg <lars.ellenberg@linbit.com> fix in-kernel configuration serialization

this is uncritical, as we still also serialize in userland,
but to correctly serialize on the CONFIG_PENDING bit,
it must be wait_event(state_wait, \!test_and_set_bit)

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
1352994b363195ce932749d3518d4dc9a5479fea 12-Oct-2009 Lars Ellenberg <lars.ellenberg@linbit.com> drbd: fix check for too large lower level device

To check wether we are truncating a very large device due to limited
meta data space, we need to check the ll_dev size.

Also improve the printk to suggest "flexible" or "internal".

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c
9f5180e5c331d7b3ccc35e1a78072235d38f9f34 06-Oct-2009 Philipp Reisner <philipp.reisner@linbit.com> drbd: Work on permission enforcement

Now we have the capabilities of the sending process available,
use them to enforce CAP_SYS_ADMIN.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/drivers/block/drbd/drbd_nl.c
6a0afdf58d40200abd0c717261d1bc4c49195c2f 01-Oct-2009 Jens Axboe <jens.axboe@oracle.com> drbd: remove tracing bits

They should be reimplemented in the current scheme.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
/drivers/block/drbd/drbd_nl.c
ab8fafc2e1ecc0090f2c78902d3b992eec8b11f8 28-Sep-2009 Lars Ellenberg <lars.ellenberg@linbit.com> dropping unneeded include autoconf.h

It is force-included on the gcc command line since at least 2.6.15.
Explicit include lines seem to break compilation now in certain configurations.

Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
/drivers/block/drbd/drbd_nl.c
b411b3637fa71fce9cf2acf0639009500f5892fe 26-Sep-2009 Philipp Reisner <philipp.reisner@linbit.com> The DRBD driver

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
/drivers/block/drbd/drbd_nl.c