From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932812AbbD0NWL (ORCPT ); Mon, 27 Apr 2015 09:22:11 -0400 Received: from mail-pa0-f47.google.com ([209.85.220.47]:32921 "EHLO mail-pa0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751336AbbD0NWH (ORCPT ); Mon, 27 Apr 2015 09:22:07 -0400 From: Sergey Senozhatsky To: Andrew Morton , Minchan Kim Cc: Nitin Gupta , linux-kernel@vger.kernel.org, Sergey Senozhatsky , Sergey Senozhatsky Subject: [PATCHv3 0/9] introduce on-demand device creation Date: Mon, 27 Apr 2015 22:21:42 +0900 Message-Id: <1430140911-7818-1-git-send-email-sergey.senozhatsky@gmail.com> X-Mailer: git-send-email 2.4.0.rc3.3.g6eb1401 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 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 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/blockdev/zram.txt | 29 +- drivers/block/zram/zram_drv.c | 975 ++++++++++++++++++++++------------------ drivers/block/zram/zram_drv.h | 6 - 3 files changed, 558 insertions(+), 452 deletions(-) -- 2.4.0.rc3.3.g6eb1401