From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751984AbbEDMjm (ORCPT ); Mon, 4 May 2015 08:39:42 -0400 Received: from mail-pa0-f44.google.com ([209.85.220.44]:34060 "EHLO mail-pa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753051AbbEDMje (ORCPT ); Mon, 4 May 2015 08:39:34 -0400 From: Sergey Senozhatsky To: Andrew Morton , Minchan Kim Cc: Nitin Gupta , linux-kernel@vger.kernel.org, Sergey Senozhatsky , Sergey Senozhatsky Subject: [PATCHv4 00/10] add on-demand device creation Date: Mon, 4 May 2015 21:38:52 +0900 Message-Id: <1430743142-15854-1-git-send-email-sergey.senozhatsky@gmail.com> X-Mailer: git-send-email 2.4.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We currently don't support zram on-demand device creation. The only way to have N zram devices is to specify num_devices module parameter (default value 1). That means that if, for some reason, at some point, user wants to have N + 1 devies he/she must umount all the existing devices, unload the module, load the module passing num_devices equals to N + 1. This patchset introduces zram-control sysfs class, which has two sysfs attrs: - zram_add -- add a new zram device - zram_remove -- remove a specific (device_id) zram device Usage example: # add a new specific zram device cat /sys/class/zram-control/zram_add 1 # remove a specific zram device echo 4 > /sys/class/zram-control/zram_remove V4: -- add patch from Minchan to handle differently a deadlock suspected by lockdep -- use zram->claim in zram_remove() V3: -- rebase against 4.1 -- review comments from Minchan were addressed -- no sysfs RO tricks anymore V2: -- quick rebase and cleanup in attempt to catch 4.1 merge window Minchan Kim (1): zram: close race by open overriding Sergey Senozhatsky (9): zram: add `compact` sysfs entry to documentation zram: cosmetic ZRAM_ATTR_RO code formatting tweak zram: use idr instead of `zram_devices' array zram: reorganize code layout zram: remove max_num_devices limitation zram: report every added and removed device zram: trivial: correct flag operations comment zram: return zram device_id from zram_add() zram: add dynamic device add/remove functionality Documentation/ABI/testing/sysfs-class-zram | 24 + Documentation/blockdev/zram.txt | 29 +- drivers/block/zram/zram_drv.c | 1002 ++++++++++++++++------------ drivers/block/zram/zram_drv.h | 10 +- 4 files changed, 612 insertions(+), 453 deletions(-) create mode 100644 Documentation/ABI/testing/sysfs-class-zram -- 2.4.0