[PATCHv3 0/8] introduce dynamic device creation/removal

Sergey Senozhatsky
2015-03-03T12:49:32Z

Hello,

This patchset introduces zram-control sysfs class, which has two sysfs
attrs:
- zram_add -- add a new specific (device_id) zram device
- zram_remove -- remove a specific (device_id) zram device

Usage example:
# add a new specific zram device
echo 4 > /sys/class/zram-control/zram_add

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

Patch set also does some cleanups and huge code reorganization.

v3:
-- add missing add/remove documentation
-- add patch 0008
-- pair class register with unregister, not class destroy function
-- do not leak class on register_blkdev() error
-- fix kernel version typo (should be 4.1) in documentation

v2:
-- switch to sysfs class, rather than using /dev/zram-control node and
doing IOCTL on it. we lose some features, though. like automatic
device_id generation.

Sergey Senozhatsky (8):
zram: cosmetic ZRAM_ATTR_RO code formatting tweak
zram: use idr instead of `zram_devices' array
zram: factor out device reset from reset_store()
zram: reorganize code layout
zram: add dynamic device add/remove functionality
zram: remove max_num_devices limitation
zram: report every added and removed device
zram: trivial: correct flag operations comment

Documentation/ABI/testing/sysfs-class-zram | 23 +
Documentation/blockdev/zram.txt | 21 +-
drivers/block/zram/zram_drv.c | 795 +++++++++++++++++------------
drivers/block/zram/zram_drv.h | 6 -
4 files changed, 499 insertions(+), 346 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-class-zram

--
2.3.1.167.g7f4ba4b