Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752451AbdF3P4y (ORCPT ); Fri, 30 Jun 2017 11:56:54 -0400 Received: from mail-wm0-f52.google.com ([74.125.82.52]:36834 "EHLO mail-wm0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752172AbdF3P4v (ORCPT ); Fri, 30 Jun 2017 11:56:51 -0400 From: "=?UTF-8?q?Javier=20Gonz=C3=A1lez?=" X-Google-Original-From: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= To: mb@lightnvm.io, axboe@fb.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Javier=20Gonz=C3=A1lez?= Subject: [PATCH 00/10] lightnvm: pblk fixes for 4.13 Date: Fri, 30 Jun 2017 17:56:33 +0200 Message-Id: <1498838203-21539-1-git-send-email-javier@cnexlabs.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1842 Lines: 50 Hi Jens, Here you have a second round of fixes for pblk. They are in essence bug fixes including a double-free reported by Dan. There is also regression fix for pblk removal, which was introduced with the new metadata scheduler. This fix makes that removing a pblk instance takes again at most 2 seconds. Finally, I also included a patch for double checking the L2P to verify a cache hit before reading from the write cache. We have experienced a database not issuing fsync before reading recently written metadata triggering a bad cache read. We verified it this week. This patch is an easy fix that we can make in pblk. The patches apply on top of your for-4.13/block and can be found at: https://github.com/OpenChannelSSD pblk.for-4.13 Please pull. Thanks, Javier Javier González (10): lightnvm: pblk: fix bad le64 assignations lightnvm: pblk: fix double-free on pblk init lightnvm: pblk: remove unused return variable lightnvm: pblk: schedule if data is not ready lightnvm: pblk: use right metadata buffer for recovery lightnvm: pblk: use vmalloc for GC data buffer lightnvm: pblk: remove target using async. I/Os lightnvm: pblk: add initialization check lightnvm: pblk: verify that cache read is still valid lightnvm: pblk: set line bitmap check under debug drivers/lightnvm/pblk-core.c | 21 +++-- drivers/lightnvm/pblk-gc.c | 11 ++- drivers/lightnvm/pblk-init.c | 17 +++- drivers/lightnvm/pblk-map.c | 2 +- drivers/lightnvm/pblk-rb.c | 27 +++++- drivers/lightnvm/pblk-read.c | 7 +- drivers/lightnvm/pblk-recovery.c | 173 ++++++++++++++++++++++----------------- drivers/lightnvm/pblk-sysfs.c | 4 +- drivers/lightnvm/pblk-write.c | 5 +- drivers/lightnvm/pblk.h | 22 ++++- 10 files changed, 184 insertions(+), 105 deletions(-) -- 2.7.4