[PATCHv5 00/10] add on-demand device creation

From: Sergey Senozhatsky
Date: Fri May 08 2015 - 08:16:47 EST

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

- hot_add -- add a new zram device
- hot_remove -- remove a specific (device_id) zram device

Usage example:
# add a new specific zram device
cat /sys/class/zram-control/hot_add

# remove a specific zram device
echo 4 > /sys/class/zram-control/hot_remove

-- rename zram_add/zram_remove to hot_add/hot_remove (per Minchan's request)

-- add patch from Minchan to handle differently a deadlock suspected by lockdep
-- use zram->claim in zram_remove()

-- rebase against 4.1
-- review comments from Minchan were addressed
-- no sysfs RO tricks anymore

-- 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 | 1004 ++++++++++++++++------------
drivers/block/zram/zram_drv.h | 10 +-
4 files changed, 614 insertions(+), 453 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-zram


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/