From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Joe Thornber <ejt@redhat.com>,
Mike Snitzer <snitzer@redhat.com>,
Sasha Levin <alexander.levin@microsoft.com>
Subject: [PATCH 3.18 087/120] dm thin metadata: try to avoid ever aborting transactions
Date: Thu, 11 Oct 2018 17:34:28 +0200 [thread overview]
Message-ID: <20181011152553.413513241@linuxfoundation.org> (raw)
In-Reply-To: <20181011152549.500488630@linuxfoundation.org>
3.18-stable review patch. If anyone has any objections, please let me know.
------------------
From: Joe Thornber <ejt@redhat.com>
[ Upstream commit 3ab91828166895600efd9cdc3a0eb32001f7204a ]
Committing a transaction can consume some metadata of it's own, we now
reserve a small amount of metadata to cover this. Free metadata
reported by the kernel will not include this reserve.
If any of the reserve has been used after a commit we enter a new
internal state PM_OUT_OF_METADATA_SPACE. This is reported as
PM_READ_ONLY, so no userland changes are needed. If the metadata
device is resized the pool will move back to PM_WRITE.
These changes mean we never need to abort and rollback a transaction due
to running out of metadata space. This is particularly important
because there have been a handful of reports of data corruption against
DM thin-provisioning that can all be attributed to the thin-pool having
ran out of metadata space.
Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/md/dm-thin-metadata.c | 36 ++++++++++++++++++++
drivers/md/dm-thin.c | 73 +++++++++++++++++++++++++++++++++++++-----
2 files changed, 100 insertions(+), 9 deletions(-)
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -191,6 +191,12 @@ struct dm_pool_metadata {
bool read_only:1;
/*
+ * We reserve a section of the metadata for commit overhead.
+ * All reported space does *not* include this.
+ */
+ dm_block_t metadata_reserve;
+
+ /*
* Set if a transaction has to be aborted but the attempt to roll back
* to the previous (good) transaction failed. The only pool metadata
* operation possible in this state is the closing of the device.
@@ -824,6 +830,22 @@ static int __commit_transaction(struct d
return dm_tm_commit(pmd->tm, sblock);
}
+static void __set_metadata_reserve(struct dm_pool_metadata *pmd)
+{
+ int r;
+ dm_block_t total;
+ dm_block_t max_blocks = 4096; /* 16M */
+
+ r = dm_sm_get_nr_blocks(pmd->metadata_sm, &total);
+ if (r) {
+ DMERR("could not get size of metadata device");
+ pmd->metadata_reserve = max_blocks;
+ } else {
+ sector_div(total, 10);
+ pmd->metadata_reserve = min(max_blocks, total);
+ }
+}
+
struct dm_pool_metadata *dm_pool_metadata_open(struct block_device *bdev,
sector_t data_block_size,
bool format_device)
@@ -858,6 +880,8 @@ struct dm_pool_metadata *dm_pool_metadat
return ERR_PTR(r);
}
+ __set_metadata_reserve(pmd);
+
return pmd;
}
@@ -1625,6 +1649,13 @@ int dm_pool_get_free_metadata_block_coun
down_read(&pmd->root_lock);
if (!pmd->fail_io)
r = dm_sm_get_nr_free(pmd->metadata_sm, result);
+
+ if (!r) {
+ if (*result < pmd->metadata_reserve)
+ *result = 0;
+ else
+ *result -= pmd->metadata_reserve;
+ }
up_read(&pmd->root_lock);
return r;
@@ -1746,8 +1777,11 @@ int dm_pool_resize_metadata_dev(struct d
int r = -EINVAL;
down_write(&pmd->root_lock);
- if (!pmd->fail_io)
+ if (!pmd->fail_io) {
r = __resize_space_map(pmd->metadata_sm, new_count);
+ if (!r)
+ __set_metadata_reserve(pmd);
+ }
up_write(&pmd->root_lock);
return r;
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -140,7 +140,13 @@ struct dm_thin_new_mapping;
enum pool_mode {
PM_WRITE, /* metadata may be changed */
PM_OUT_OF_DATA_SPACE, /* metadata may be changed, though data may not be allocated */
+
+ /*
+ * Like READ_ONLY, except may switch back to WRITE on metadata resize. Reported as READ_ONLY.
+ */
+ PM_OUT_OF_METADATA_SPACE,
PM_READ_ONLY, /* metadata may not be changed */
+
PM_FAIL, /* all I/O fails */
};
@@ -994,7 +1000,35 @@ static void set_pool_mode(struct pool *p
static void requeue_bios(struct pool *pool);
-static void check_for_space(struct pool *pool)
+static bool is_read_only_pool_mode(enum pool_mode mode)
+{
+ return (mode == PM_OUT_OF_METADATA_SPACE || mode == PM_READ_ONLY);
+}
+
+static bool is_read_only(struct pool *pool)
+{
+ return is_read_only_pool_mode(get_pool_mode(pool));
+}
+
+static void check_for_metadata_space(struct pool *pool)
+{
+ int r;
+ const char *ooms_reason = NULL;
+ dm_block_t nr_free;
+
+ r = dm_pool_get_free_metadata_block_count(pool->pmd, &nr_free);
+ if (r)
+ ooms_reason = "Could not get free metadata blocks";
+ else if (!nr_free)
+ ooms_reason = "No free metadata blocks";
+
+ if (ooms_reason && !is_read_only(pool)) {
+ DMERR("%s", ooms_reason);
+ set_pool_mode(pool, PM_OUT_OF_METADATA_SPACE);
+ }
+}
+
+static void check_for_data_space(struct pool *pool)
{
int r;
dm_block_t nr_free;
@@ -1020,14 +1054,16 @@ static int commit(struct pool *pool)
{
int r;
- if (get_pool_mode(pool) >= PM_READ_ONLY)
+ if (get_pool_mode(pool) >= PM_OUT_OF_METADATA_SPACE)
return -EINVAL;
r = dm_pool_commit_metadata(pool->pmd);
if (r)
metadata_operation_failed(pool, "dm_pool_commit_metadata", r);
- else
- check_for_space(pool);
+ else {
+ check_for_metadata_space(pool);
+ check_for_data_space(pool);
+ }
return r;
}
@@ -1093,6 +1129,19 @@ static int alloc_data_block(struct thin_
return r;
}
+ r = dm_pool_get_free_metadata_block_count(pool->pmd, &free_blocks);
+ if (r) {
+ metadata_operation_failed(pool, "dm_pool_get_free_metadata_block_count", r);
+ return r;
+ }
+
+ if (!free_blocks) {
+ /* Let's commit before we use up the metadata reserve. */
+ r = commit(pool);
+ if (r)
+ return r;
+ }
+
return 0;
}
@@ -1124,6 +1173,7 @@ static int should_error_unserviceable_bi
case PM_OUT_OF_DATA_SPACE:
return pool->pf.error_if_no_space ? -ENOSPC : 0;
+ case PM_OUT_OF_METADATA_SPACE:
case PM_READ_ONLY:
case PM_FAIL:
return -EIO;
@@ -1823,8 +1873,9 @@ static void set_pool_mode(struct pool *p
error_retry_list(pool);
break;
+ case PM_OUT_OF_METADATA_SPACE:
case PM_READ_ONLY:
- if (old_mode != new_mode)
+ if (!is_read_only_pool_mode(old_mode))
notify_of_pool_mode_change(pool, "read-only");
dm_pool_metadata_read_only(pool->pmd);
pool->process_bio = process_bio_read_only;
@@ -2727,6 +2778,10 @@ static int maybe_resize_metadata_dev(str
DMINFO("%s: growing the metadata device from %llu to %llu blocks",
dm_device_name(pool->pool_md),
sb_metadata_dev_size, metadata_dev_size);
+
+ if (get_pool_mode(pool) == PM_OUT_OF_METADATA_SPACE)
+ set_pool_mode(pool, PM_WRITE);
+
r = dm_pool_resize_metadata_dev(pool->pmd, metadata_dev_size);
if (r) {
metadata_operation_failed(pool, "dm_pool_resize_metadata_dev", r);
@@ -2974,7 +3029,7 @@ static int pool_message(struct dm_target
struct pool_c *pt = ti->private;
struct pool *pool = pt->pool;
- if (get_pool_mode(pool) >= PM_READ_ONLY) {
+ if (get_pool_mode(pool) >= PM_OUT_OF_METADATA_SPACE) {
DMERR("%s: unable to service pool target messages in READ_ONLY or FAIL mode",
dm_device_name(pool->pool_md));
return -EINVAL;
@@ -3047,6 +3102,7 @@ static void pool_status(struct dm_target
dm_block_t nr_blocks_data;
dm_block_t nr_blocks_metadata;
dm_block_t held_root;
+ enum pool_mode mode;
char buf[BDEVNAME_SIZE];
char buf2[BDEVNAME_SIZE];
struct pool_c *pt = ti->private;
@@ -3117,9 +3173,10 @@ static void pool_status(struct dm_target
else
DMEMIT("- ");
- if (pool->pf.mode == PM_OUT_OF_DATA_SPACE)
+ mode = get_pool_mode(pool);
+ if (mode == PM_OUT_OF_DATA_SPACE)
DMEMIT("out_of_data_space ");
- else if (pool->pf.mode == PM_READ_ONLY)
+ else if (is_read_only_pool_mode(mode))
DMEMIT("ro ");
else
DMEMIT("rw ");
next prev parent reply other threads:[~2018-10-11 23:07 UTC|newest]
Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-11 15:33 [PATCH 3.18 000/120] 3.18.124-stable review Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 001/120] ASoC: cs4265: fix MMTLR Data switch control Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 002/120] ALSA: bebob: use address returned by kmalloc() instead of kernel stack for streaming DMA mapping Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 003/120] ALSA: emu10k1: fix possible info leak to userspace on SNDRV_EMU10K1_IOCTL_INFO Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 004/120] ring-buffer: Allow for rescheduling when removing pages Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 005/120] mm: shmem.c: Correctly annotate new inodes for lockdep Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 006/120] gso_segment: Reset skb->mac_len after modifying network header Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 007/120] net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 008/120] net: hp100: fix always-true check for link up state Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 009/120] neighbour: confirm neigh entries when ARP packet is received Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 010/120] ipv6: fix possible use-after-free in ip6_xmit() Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 011/120] scsi: target: iscsi: Use hex2bin instead of a re-implementation Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 012/120] ocfs2: fix ocfs2 read block panic Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 013/120] ext4: avoid divide by zero fault when deleting corrupted inline directories Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 014/120] ext4: recalucate superblock checksum after updating free blocks/inodes Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 015/120] ext4: fix online resizes handling of a too-small final block group Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 016/120] ext4: dont mark mmp buffer head dirty Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 017/120] arm64: Add trace_hardirqs_off annotation in ret_to_user Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 018/120] HID: sony: Update device ids Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 019/120] HID: sony: Support DS4 dongle Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 020/120] crypto: skcipher - Fix -Wstringop-truncation warnings Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 021/120] tsl2550: fix lux1_input error in low light Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 022/120] x86/numa_emulation: Fix emulated-to-physical node mapping Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 023/120] uwb: hwa-rc: fix memory leak at probe Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 024/120] USB: serial: kobil_sct: fix modem-status error handling Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 025/120] media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt() Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 026/120] powerpc/kdump: Handle crashkernel memory reservation failure Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 027/120] x86/tsc: Add missing header to tsc_msr.c Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 028/120] scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 029/120] scsi: ibmvscsi: Improve strings handling Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 030/120] usb: wusbcore: security: cast sizeof to int for comparison Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 031/120] alarmtimer: Prevent overflow for relative nanosleep Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 032/120] s390/extmem: fix gcc 8 stringop-overflow warning Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 033/120] ALSA: snd-aoa: add of_node_put() in error path Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 034/120] media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 035/120] media: soc_camera: ov772x: correct setting of banding filter Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 036/120] staging: android: ashmem: Fix mmap size validation Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 037/120] drivers/tty: add error handling for pcmcia_loop_config Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 038/120] media: tm6000: add error handling for dvb_register_adapter Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 039/120] ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 040/120] rndis_wlan: potential buffer overflow in rndis_wlan_auth_indication() Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 041/120] wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout() Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 042/120] ARM: mvebu: declare asm symbols as character arrays in pmsu.c Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 043/120] HID: hid-ntrig: add error handling for sysfs_create_group Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 044/120] scsi: bnx2i: add error handling for ioremap_nocache Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 045/120] ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 046/120] module: exclude SHN_UNDEF symbols from kallsyms api Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 047/120] nfsd: fix corrupted reply to badly ordered compound Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 048/120] floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 049/120] serial: cpm_uart: return immediately from console poll Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 050/120] spi: tegra20-slink: explicitly enable/disable clock Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 051/120] spi: sh-msiof: Fix handling of write value for SISTR register Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 052/120] spi: rspi: Fix interrupted DMA transfers Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 053/120] USB: fix error handling in usb_driver_claim_interface() Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 054/120] USB: handle NULL config in usb_find_alt_setting() Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 055/120] slub: make ->cpu_partial unsigned int Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 056/120] media: uvcvideo: Support realteks UVC 1.5 device Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 057/120] USB: usbdevfs: sanitize flags more Greg Kroah-Hartman
2018-10-11 15:33 ` [PATCH 3.18 058/120] USB: usbdevfs: restore warning for nonsensical flags Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 059/120] Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()" Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 060/120] USB: remove LPM management from usb_driver_claim_interface() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 061/120] scsi: target: iscsi: Use bin2hex instead of a re-implementation Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 062/120] staging: android: ion: fix ION_IOC_{MAP,SHARE} use-after-free Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 063/120] arm64: KVM: Tighten guest core register access from userspace Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 064/120] ext4: verify the depth of extent tree in ext4_find_extent() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 065/120] thermal: of-thermal: disable passive polling when thermal zone is disabled Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 066/120] e1000: check on netif_running() before calling e1000_up() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 067/120] e1000: ensure to free old tx/rx rings in set_ringparam() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 068/120] hwmon: (adt7475) Make adt7475_read_word() return errors Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 069/120] arm64: KVM: Sanitize PSTATE.M when being set from userspace Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 070/120] media: v4l: event: Prevent freeing event subscriptions while accessed Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 071/120] KVM: PPC: Book3S HV: Dont truncate HPTE index in xlate function Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 072/120] mac80211: correct use of IEEE80211_VHT_CAP_RXSTBC_X Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 073/120] gpio: adp5588: Fix sleep-in-atomic-context bug Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 074/120] cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 075/120] RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 076/120] net: cadence: Fix a sleep-in-atomic-context bug in macb_halt_tx() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 077/120] fs/cifs: dont translate SFM_SLASH (U+F026) to backslash Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 078/120] mac80211: fix a race between restart and CSA flows Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 079/120] mac80211: Fix station bandwidth setting after channel switch Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 080/120] mac80211: shorten the IBSS debug messages Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 081/120] tools/vm/slabinfo.c: fix sign-compare warning Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 082/120] tools/vm/page-types.c: fix "defined but not used" warning Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 083/120] mm: madvise(MADV_DODUMP): allow hugetlbfs pages Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 084/120] RDMA/ucma: check fd type in ucma_migrate_id() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 085/120] USB: yurex: Check for truncation in yurex_read() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 086/120] fs/cifs: suppress a string overflow warning Greg Kroah-Hartman
2018-10-11 15:34 ` Greg Kroah-Hartman [this message]
2018-10-11 15:34 ` [PATCH 3.18 088/120] arch/hexagon: fix kernel/dma.c build warning Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 089/120] hexagon: modify ffs() and fls() to return int Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 090/120] r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 091/120] s390/qeth: dont dump past end of unknown HW header Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 092/120] cifs: read overflow in is_valid_oplock_break() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 093/120] xen/manage: dont complain about an empty value in control/sysrq node Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 094/120] xen: fix GCC warning and remove duplicate EVTCHN_ROW/EVTCHN_COL usage Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 095/120] smb2: fix missing files in root share directory listing Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 096/120] crypto: mxs-dcp - Fix wait logic on chan threads Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 097/120] ocfs2: fix locking for res->tracking and dlm->tracking_list Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 098/120] dm thin metadata: fix __udivdi3 undefined on 32-bit Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 099/120] Make file credentials available to the seqfile interfaces Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 100/120] proc: restrict kernel stack dumps to root Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 101/120] fbdev/omapfb: fix omapfb_memory_read infoleak Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 102/120] x86/vdso: Fix asm constraints on vDSO syscall fallbacks Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 103/120] x86/vdso: Fix vDSO syscall fallback asm constraint regression Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 104/120] PCI: Reprogram bridge prefetch registers on resume Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 105/120] mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode keys Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 106/120] PM / core: Clear the direct_complete flag on errors Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 107/120] USB: serial: simple: add Motorola Tetra MTP6550 id Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 108/120] ext4: only look at the bg_flags field if it is valid Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 109/120] ext4: fix check to prevent initializing reserved inodes Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 110/120] ext4: always check block group bounds in ext4_init_block_bitmap() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 111/120] ext4: fix false negatives *and* false positives in ext4_check_descriptors() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 112/120] ext4: add corruption check in ext4_xattr_set_entry() Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 113/120] ext4: always verify the magic number in xattr blocks Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 114/120] ext4: never move the system.data xattr out of the inode body Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 115/120] ext4: add more inode number paranoia checks Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 116/120] jbd2: dont mark block as modified if the handle is out of credits Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 117/120] ext4: avoid running out of journal credits when appending to an inline file Greg Kroah-Hartman
2018-10-11 15:34 ` [PATCH 3.18 118/120] cgroup: Fix deadlock in cpu hotplug path Greg Kroah-Hartman
2018-10-11 15:35 ` [PATCH 3.18 119/120] ubifs: Check for name being NULL while mounting Greg Kroah-Hartman
2018-10-11 15:35 ` [PATCH 3.18 120/120] ebtables: arpreply: Add the standard target sanity check Greg Kroah-Hartman
2018-10-11 22:46 ` [PATCH 3.18 000/120] 3.18.124-stable review Shuah Khan
2018-10-12 10:23 ` Greg Kroah-Hartman
2018-10-12 12:19 ` Guenter Roeck
2018-10-12 13:37 ` Greg Kroah-Hartman
2018-10-12 14:06 ` Guenter Roeck
2018-10-12 14:21 ` Greg Kroah-Hartman
2018-10-12 15:15 ` Guenter Roeck
2018-10-12 15:39 ` Guenter Roeck
2018-10-12 16:05 ` Greg Kroah-Hartman
2018-10-12 17:07 ` Nathan Chancellor
2018-10-13 6:42 ` Greg Kroah-Hartman
2018-10-12 20:24 ` Guenter Roeck
2018-10-13 6:42 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181011152553.413513241@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=alexander.levin@microsoft.com \
--cc=ejt@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=snitzer@redhat.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).