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

From: Sergey Senozhatsky
Date: Mon May 04 2015 - 08:39:45 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
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

--
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/