Hello, this patchset introduces dynamic (on demand) zram device add-remove functionality via /dev/zram-control interface. Two ioctl commands are defined as of now (accessible in user-space via new zram.h header file): -- ZRAM_CTL_ADD add new device (generates device_id automatically or uses provided device_id) -- ZRAM_CTL_REMOVE remove device (by device_id)
util-linux zramctl update will be done later, after we land this patchset. This also opens a possibility to drop some of sysfs device attrs and FOO_show() code duplication in the future, and provide device stats/info via ioctl call instead, providing something like (via zram.h): struct zram_info { __u64 orig_data_size; __u64 mem_used_total; __u64 max_comp_streams; [..] }; fill it under ->init_lock in zram_fill_info() (or any other name) function and return all device stats at once back to user-space in a single syscall. This is a long term plan, of course, but I'd like to see sysfs functions go away in a year or so. What do you think? 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: add dynamic device add/remove functionality zram: return zram device_id value from zram_add() zram: allow automatic new zram device_id assignment zram: remove max_num_devices limitation zram: report every added and removed device drivers/block/zram/zram_drv.c | 326 ++++++++++++++++++++++++++++-------------- drivers/block/zram/zram_drv.h | 6 - include/linux/miscdevice.h | 1 + include/uapi/linux/Kbuild | 1 + include/uapi/linux/zram.h | 17 +++ 5 files changed, 238 insertions(+), 113 deletions(-) create mode 100644 include/uapi/linux/zram.h -- 2.3.1.167.g7f4ba4b -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/