From: Ram Pai <linuxram@us.ibm.com> To: dm-devel@redhat.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org Cc: hbabu@us.ibm.com, shli@kernel.org, snitzer@redhat.com, agk@redhat.com, corbet@lwn.net Subject: [PATCH v3] DM: dm-inplace-compress: inplace compressed DM target Date: Mon, 30 Jan 2017 23:42:12 -0800 [thread overview] Message-ID: <1485848533-27778-1-git-send-email-linuxram@us.ibm.com> (raw) This patch provides a generic device-mapper compression device. Originally written by Shaohua Li. https://www.redhat.com/archives/dm-devel/2013-December/msg00143.html I have optimized and hardened the code. Testing: ------- This compression block device is tested in the following scenarios a) backing a ext4 filesystem b) backing swap Its stress tested on PPC64 and x86 system. Version v1: Comments from Alasdair have been incorporated. https://www.redhat.com/archives/dm-devel/2013-December/msg00144.html Version v2: All patches are merged into a single patch. Major code re-arrangement. Data and metablocks allocated based on the length of the device map rather than the size of the backing device. Size of each entry in the bitmap array is explicitly set to 32bits. Attempt to reuse the provided bio buffer space instead of allocating a new one. Version v3: Fixed sector alignment bugs exposed while testing on x86. Explicitly set the maximum request size to 128K. Without which range locking failed, causing I/Os to stamp each other. Fixed an occasional data corruption caused by wrong size of the compression buffer. Added a parameter while creation of the block device, to not sleep during memory allocations. This can be useful if the device is used as a swap device. Your comments to improve the code is very much appreciated. Ram Pai (1): From: Shaohua Li <shli@kernel.org> .../device-mapper/dm-inplace-compress.txt | 155 ++ drivers/md/Kconfig | 6 + drivers/md/Makefile | 2 + drivers/md/dm-inplace-compress.c | 2214 ++++++++++++++++++++ drivers/md/dm-inplace-compress.h | 187 ++ 5 files changed, 2564 insertions(+) create mode 100644 Documentation/device-mapper/dm-inplace-compress.txt create mode 100644 drivers/md/dm-inplace-compress.c create mode 100644 drivers/md/dm-inplace-compress.h -- 1.8.3.1
WARNING: multiple messages have this Message-ID (diff)
From: Ram Pai <linuxram@us.ibm.com> To: dm-devel@redhat.com, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-raid@vger.kernel.org Cc: agk@redhat.com, snitzer@redhat.com, corbet@lwn.net, shli@kernel.org, hbabu@us.ibm.com Subject: [PATCH v3] DM: dm-inplace-compress: inplace compressed DM target Date: Mon, 30 Jan 2017 23:42:12 -0800 [thread overview] Message-ID: <1485848533-27778-1-git-send-email-linuxram@us.ibm.com> (raw) This patch provides a generic device-mapper compression device. Originally written by Shaohua Li. https://www.redhat.com/archives/dm-devel/2013-December/msg00143.html I have optimized and hardened the code. Testing: ------- This compression block device is tested in the following scenarios a) backing a ext4 filesystem b) backing swap Its stress tested on PPC64 and x86 system. Version v1: Comments from Alasdair have been incorporated. https://www.redhat.com/archives/dm-devel/2013-December/msg00144.html Version v2: All patches are merged into a single patch. Major code re-arrangement. Data and metablocks allocated based on the length of the device map rather than the size of the backing device. Size of each entry in the bitmap array is explicitly set to 32bits. Attempt to reuse the provided bio buffer space instead of allocating a new one. Version v3: Fixed sector alignment bugs exposed while testing on x86. Explicitly set the maximum request size to 128K. Without which range locking failed, causing I/Os to stamp each other. Fixed an occasional data corruption caused by wrong size of the compression buffer. Added a parameter while creation of the block device, to not sleep during memory allocations. This can be useful if the device is used as a swap device. Your comments to improve the code is very much appreciated. Ram Pai (1): From: Shaohua Li <shli@kernel.org> .../device-mapper/dm-inplace-compress.txt | 155 ++ drivers/md/Kconfig | 6 + drivers/md/Makefile | 2 + drivers/md/dm-inplace-compress.c | 2214 ++++++++++++++++++++ drivers/md/dm-inplace-compress.h | 187 ++ 5 files changed, 2564 insertions(+) create mode 100644 Documentation/device-mapper/dm-inplace-compress.txt create mode 100644 drivers/md/dm-inplace-compress.c create mode 100644 drivers/md/dm-inplace-compress.h -- 1.8.3.1
next reply other threads:[~2017-01-31 7:42 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-31 7:42 Ram Pai [this message] 2017-01-31 7:42 ` [PATCH v3] DM: dm-inplace-compress: inplace compressed DM target Ram Pai 2017-01-31 7:42 ` [PATCH v3 1/1] DM: " Ram Pai 2017-01-31 7:42 ` Ram Pai 2017-01-31 10:32 ` kbuild test robot 2017-01-31 11:46 ` kbuild test robot
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=1485848533-27778-1-git-send-email-linuxram@us.ibm.com \ --to=linuxram@us.ibm.com \ --cc=agk@redhat.com \ --cc=corbet@lwn.net \ --cc=dm-devel@redhat.com \ --cc=hbabu@us.ibm.com \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-raid@vger.kernel.org \ --cc=shli@kernel.org \ --cc=snitzer@redhat.com \ /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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.