mdadm may break bbl if bitmap is too large

Bug #1738156 reported by Kota Uchida
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mdadm (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

mdadm 3.3-2ubuntu7.6 (for xenial) has a bug which may break an internal write-intent bitmap.
Due to this bug, a bitmap overlaps with a bbl (bad block log), then the bbl gets to be inconsistent.

The cause of the bug is that a bbl is placed at a fixed location (80 sectors from the beginning of a disk).
Because an internal write-intent bitmap is placed before the bbl (16 sectors from the beginning of a disk),
it overlaps with the bbl when it grows too large (> 64 sectors).

See this figure. https://cdn-ak.f.st-hatena.com/images/fotolife/u/uchan_nos/20171126/20171126111715.png

This bug has been fixed in upstream of mdadm. The fixing commit is https://github.com/neilbrown/mdadm/commit/1b7eb672f7792313cc1517feaae8267575fc496b

I tested the bug on the following versions:

- mdadm 3.3-2ubuntu7.6 (for xenial) : The bug is reproduced
- mdadm 3.4-4ubuntu0.1 (for zesty) : The bug is reproduced
- mdadm 4.0-2 (for artful) : The bug has been fixed

I want you to backport the patch to Ubuntu 16.04 LTS because the bug is serious.

Detailed description (containing scripts to reproduce the bug) is here:
https://gist.github.com/uchan-nos/4a4894f3c8e4a59ed0b870b5a516dcad#file-mdadm_bug_bbl_disruption-md

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: mdadm 3.3-2ubuntu7.2
ProcVersionSignature: Ubuntu 4.4.0-96.119-generic 4.4.83
Uname: Linux 4.4.0-96-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.13
Architecture: amd64
Date: Thu Dec 14 18:09:57 2017
InstallationDate: Installed on 2017-02-03 (313 days ago)
InstallationMedia: Ubuntu-Server 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
Lspci:

Lsusb: Error: command ['lsusb'] failed with exit code 1:
MDadmExamine.dev.sda: Error: command ['/sbin/mdadm', '-E', '/dev/sda'] failed with exit code 1: mdadm: cannot open /dev/sda: Permission denied
MDadmExamine.dev.sda1: Error: command ['/sbin/mdadm', '-E', '/dev/sda1'] failed with exit code 1: mdadm: cannot open /dev/sda1: Permission denied
MDadmExamine.dev.sda2: Error: command ['/sbin/mdadm', '-E', '/dev/sda2'] failed with exit code 1: mdadm: cannot open /dev/sda2: Permission denied
MDadmExamine.dev.sda3: Error: command ['/sbin/mdadm', '-E', '/dev/sda3'] failed with exit code 1: mdadm: cannot open /dev/sda3: Permission denied
MDadmExamine.dev.sdb: Error: command ['/sbin/mdadm', '-E', '/dev/sdb'] failed with exit code 1: mdadm: cannot open /dev/sdb: Permission denied
MDadmExamine.dev.sdb1: Error: command ['/sbin/mdadm', '-E', '/dev/sdb1'] failed with exit code 1: mdadm: cannot open /dev/sdb1: Permission denied
MachineType: Microsoft Corporation Virtual Machine
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-96-generic root=/dev/mapper/hostname--vg-root ro rootflags=subvol=@
SourcePackage: mdadm
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 08/26/2016
dmi.bios.vendor: Microsoft Corporation
dmi.bios.version: Hyper-V UEFI Release v2.0
dmi.board.asset.tag: None
dmi.board.name: Virtual Machine
dmi.board.vendor: Microsoft Corporation
dmi.board.version: Hyper-V UEFI Release v2.0
dmi.chassis.asset.tag: 6099-8796-9610-2381-8579-4771-22
dmi.chassis.type: 3
dmi.chassis.vendor: Microsoft Corporation
dmi.chassis.version: Hyper-V UEFI Release v2.0
dmi.modalias: dmi:bvnMicrosoftCorporation:bvrHyper-VUEFIReleasev2.0:bd08/26/2016:svnMicrosoftCorporation:pnVirtualMachine:pvrHyper-VUEFIReleasev2.0:rvnMicrosoftCorporation:rnVirtualMachine:rvrHyper-VUEFIReleasev2.0:cvnMicrosoftCorporation:ct3:cvrHyper-VUEFIReleasev2.0:
dmi.product.name: Virtual Machine
dmi.product.version: Hyper-V UEFI Release v2.0
dmi.sys.vendor: Microsoft Corporation
etc.blkid.tab: Error: [Errno 2] No such file or directory: '/etc/blkid.tab'

Revision history for this message
Kota Uchida (uchan-nos) wrote :
Kota Uchida (uchan-nos)
summary: - mdadm may broke bbl if bitmap is too large
+ mdadm may break bbl if bitmap is too large
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mdadm (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.