summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2011-03-28 12:48:01 (GMT)
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 15:44:58 (GMT)
commit438c8374ae3e87f44d945a2ac2901e3b14aec1a8 (patch)
treeb71e4602b575ae5b6291caa57e4894cd617d11cb /drivers/block
parent778bcf2e290fc9f13735c32640cdafb34794ebd1 (diff)
downloadlinux-fsl-qoriq-438c8374ae3e87f44d945a2ac2901e3b14aec1a8.tar.xz
drbd: Do not segfault if a sync dependency reaches a diskless device
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/drbd/drbd_worker.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index cbbc5c7..c3d1f5f 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -1319,6 +1319,8 @@ static int _drbd_may_sync_now(struct drbd_conf *mdev)
struct drbd_conf *odev = mdev;
while (1) {
+ if (!odev->ldev)
+ return 1;
if (odev->ldev->dc.resync_after == -1)
return 1;
odev = minor_to_mdev(odev->ldev->dc.resync_after);