linux-xiaomi-chiron/Documentation
Mike Snitzer 07f2b6e038 dm thin: ensure user takes action to validate data and metadata consistency
If a thin metadata operation fails the current transaction will abort,
whereby causing potential for IO layers up the stack (e.g. filesystems)
to have data loss.  As such, set THIN_METADATA_NEEDS_CHECK_FLAG in the
thin metadata's superblock which:
1) requires the user verify the thin metadata is consistent (e.g. use
   thin_check, etc)
2) suggests the user verify the thin data is consistent (e.g. use fsck)

The only way to clear the superblock's THIN_METADATA_NEEDS_CHECK_FLAG is
to run thin_repair.

On metadata operation failure: abort current metadata transaction, set
pool in read-only mode, and now set the needs_check flag.

As part of this change, constraints are introduced or relaxed:
* don't allow a pool to transition to write mode if needs_check is set
* don't allow data or metadata space to be resized if needs_check is set
* if a thin pool's metadata space is exhausted: the kernel will now
  force the user to take the pool offline for repair before the kernel
  will allow the metadata space to be extended.

Also, update Documentation to include information about when the thin
provisioning target commits metadata, how it handles metadata failures
and running out of space.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Joe Thornber <ejt@redhat.com>
2014-03-05 15:25:35 -05:00
..
ABI tty: Set correct tty name in 'active' sysfs attribute 2014-02-07 08:40:54 -08:00
accounting
acpi
aoe
arm Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
arm64
auxdisplay
backlight
blackfin Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
block Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
blockdev zram: remove old private project comment 2014-01-30 16:56:55 -08:00
bus-devices
cdrom
cgroups Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-01-31 09:31:14 -08:00
connector
console
cpu-freq
cpuidle
cris
crypto
development-process
device-mapper dm thin: ensure user takes action to validate data and metadata consistency 2014-03-05 15:25:35 -05:00
devicetree A collection of ARM SoC fixes for v3.14-rc1. 2014-02-15 15:01:33 -08:00
DocBook Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2014-01-31 09:31:14 -08:00
driver-model
dvb [media] update Michael Krufky's email address 2014-02-04 06:34:21 -02:00
early-userspace
EDID
extcon
fault-injection
fb Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
filesystems Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
firmware_class
fmc
frv
gpio
hid
hwmon Update Jean Delvare's e-mail address 2014-01-29 20:40:08 +01:00
i2c Documentation: i2c: mention ACPI method for instantiating devices 2014-02-15 19:46:34 +01:00
i2o
ia64
ide Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
infiniband
input
ioctl
isdn
ja_JP
kbuild
kdump
ko_KR
laptops Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
leds Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
m68k Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
make
memory-devices
metag
mic
mips
misc-devices Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2014-01-29 18:56:27 -08:00
mmc
mn10300
mtd
namespaces
netlabel
networking Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
nfc
parisc
PCI
pcmcia
power Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
powerpc
pps
prctl
pti
ptp ptp: Allow selecting trigger/event index in testptp 2014-02-04 20:26:46 -08:00
rapidio
RCU Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
s390 Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
scheduler Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
scsi Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
security
serial Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
sh
sound
spi spi: Fixes for v3.14 2014-02-12 09:11:24 -08:00
sysctl Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-01-31 08:59:46 -08:00
target
thermal
timers Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
tpm
trace
usb
vDSO
video4linux
virtual Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
vm Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
w1 Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
watchdog
wimax
x86 Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
xtensa
zh_CN Documentation:Update Documentation/zh_CN/arm64/memory.txt 2014-02-07 15:24:31 -08:00
.gitignore
00-INDEX Documentation/: update 00-INDEX files 2014-02-10 16:01:40 -08:00
applying-patches.txt
assoc_array.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
bcache.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
Changes
circular-buffers.txt
clk.txt
coccinelle.txt
CodingStyle
cpu-hotplug.txt
cpu-load.txt
cputopology.txt
crc32.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
digsig.txt
DMA-API-HOWTO.txt
DMA-API.txt
DMA-attributes.txt
dma-buf-sharing.txt
DMA-ISA-LPC.txt
dmaengine.txt
dmatest.txt
dontdiff
dynamic-debug-howto.txt
edac.txt
efi-stub.txt
eisa.txt
email-clients.txt
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
highuid.txt
HOWTO
hw_random.txt
hwspinlock.txt
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt Documentation/kernel-parameters.txt: fix memmap= language 2014-02-06 13:48:51 -08:00
kernel-per-CPU-kthreads.txt
kmemcheck.txt
kmemleak.txt
kobject.txt
kprobes.txt
kref.txt
ldm.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
lockup-watchdogs.txt
logo.gif
logo.txt
magic-number.txt
Makefile
ManagementStyle
md.txt
media-framework.txt
memory-barriers.txt
memory-hotplug.txt
module-signing.txt
mono.txt
mutex-design.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
percpu-rw-semaphore.txt
phy.txt drivers: phy: Add support for optional phys 2014-02-05 05:48:43 +00:00
pi-futex.txt
pinctrl.txt
pnp.txt
preempt-locking.txt
printk-formats.txt
pwm.txt
ramoops.txt
rbtree.txt
remoteproc.txt
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
smsc_ece1099.txt
sparse.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
static-keys.txt
SubmitChecklist
SubmittingDrivers
SubmittingPatches
svga.txt
sysfs-rules.txt
sysrq.txt
this_cpu_ops.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
vfio.txt
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
vme_api.txt
volatile-considered-harmful.txt
workqueue.txt
ww-mutex-design.txt
xz.txt
zorro.txt