diff options
author | Huang, Tao <huangtao@rock-chips.com> | 2017-06-07 10:03:03 +0800 |
---|---|---|
committer | Huang, Tao <huangtao@rock-chips.com> | 2017-06-07 10:03:03 +0800 |
commit | ad2fc3b29a8b0f1e1c0cd40a84ea065feb2c8fbb (patch) | |
tree | e26779e9956d05689bd3a2ada93e6c5ecb1c43da /block | |
parent | d7f4e179e350791bf6895267894dc3d5a8cdd27b (diff) | |
parent | 000f3de5a9866b1b3feb9ca4f66ca6a884d1d42f (diff) |
Merge tag 'lsk-v4.4-17.05-android' of git://git.linaro.org/kernel/linux-linaro-stable.git
LSK 17.05 v4.4-android
* tag 'lsk-v4.4-17.05-android': (266 commits)
BACKPORT: mm/slab: clean up DEBUG_PAGEALLOC processing code
Linux 4.4.70
UPSTREAM: arm64: hibernate: Support DEBUG_PAGEALLOC
BACKPORT: arm64: vmlinux.ld: Add mmuoff data sections and move mmuoff text into idmap
BACKPORT: arm64: Create sections.h
ANDROID: uid_sys_stats: defer io stats calulation for dead tasks
ANDROID: AVB: Fix linter errors.
ANDROID: AVB: Fix invalidate_vbmeta_submit().
drivers: char: mem: Check for address space wraparound with mmap()
nfsd: encoders mustn't use unitialized values in error cases
drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2
PCI: Freeze PME scan before suspending devices
PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms
tracing/kprobes: Enforce kprobes teardown after testing
osf_wait4(): fix infoleak
genirq: Fix chained interrupt data ordering
uwb: fix device quirk on big-endian hosts
metag/uaccess: Check access_ok in strncpy_from_user
metag/uaccess: Fix access_ok()
iommu/vt-d: Flush the IOTLB to get rid of the initial kdump mappings
...
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-integrity.c | 22 | ||||
-rw-r--r-- | block/partition-generic.c | 1 |
2 files changed, 4 insertions, 19 deletions
diff --git a/block/blk-integrity.c b/block/blk-integrity.c index d69c5c79f98e..478f572cb1e7 100644 --- a/block/blk-integrity.c +++ b/block/blk-integrity.c @@ -412,12 +412,13 @@ void blk_integrity_register(struct gendisk *disk, struct blk_integrity *template bi->flags = BLK_INTEGRITY_VERIFY | BLK_INTEGRITY_GENERATE | template->flags; - bi->interval_exp = ilog2(queue_logical_block_size(disk->queue)); + bi->interval_exp = template->interval_exp ? : + ilog2(queue_logical_block_size(disk->queue)); bi->profile = template->profile ? template->profile : &nop_profile; bi->tuple_size = template->tuple_size; bi->tag_size = template->tag_size; - blk_integrity_revalidate(disk); + disk->queue->backing_dev_info.capabilities |= BDI_CAP_STABLE_WRITES; } EXPORT_SYMBOL(blk_integrity_register); @@ -430,26 +431,11 @@ EXPORT_SYMBOL(blk_integrity_register); */ void blk_integrity_unregister(struct gendisk *disk) { - blk_integrity_revalidate(disk); + disk->queue->backing_dev_info.capabilities &= ~BDI_CAP_STABLE_WRITES; memset(&disk->queue->integrity, 0, sizeof(struct blk_integrity)); } EXPORT_SYMBOL(blk_integrity_unregister); -void blk_integrity_revalidate(struct gendisk *disk) -{ - struct blk_integrity *bi = &disk->queue->integrity; - - if (!(disk->flags & GENHD_FL_UP)) - return; - - if (bi->profile) - disk->queue->backing_dev_info.capabilities |= - BDI_CAP_STABLE_WRITES; - else - disk->queue->backing_dev_info.capabilities &= - ~BDI_CAP_STABLE_WRITES; -} - void blk_integrity_add(struct gendisk *disk) { if (kobject_init_and_add(&disk->integrity_kobj, &integrity_ktype, diff --git a/block/partition-generic.c b/block/partition-generic.c index 91327dbfbb1d..19cf33b91a5a 100644 --- a/block/partition-generic.c +++ b/block/partition-generic.c @@ -446,7 +446,6 @@ rescan: if (disk->fops->revalidate_disk) disk->fops->revalidate_disk(disk); - blk_integrity_revalidate(disk); check_disk_size_change(disk, bdev); bdev->bd_invalidated = 0; if (!get_capacity(disk) || !(state = check_partition(disk, bdev))) |