zram: propagate error to user

When we initialized zcomp with single, we couldn't change
max_comp_streams without zram reset but current interface doesn't show
any error to user and even it changes max_comp_streams's value without
any effect so it would make user very confusing.

This patch prevents max_comp_streams's change when zcomp was initialized
as single zcomp and emit the error to user(ex, echo).

[[email protected]: don't return with the lock held, per Sergey]
[[email protected]: fix coccinelle warnings]
Signed-off-by: Minchan Kim <[email protected]>
Cc: Nitin Gupta <[email protected]>
Cc: Jerome Marchand <[email protected]>
Acked-by: Sergey Senozhatsky <[email protected]>
Signed-off-by: Fengguang Wu <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Minchan Kim 2014-04-07 15:38:21 -07:00 • committed by Linus Torvalds
commit 60a726e333
4 changed files with 25 additions and 15 deletions

View file

@ -37,10 +37,11 @@ Note:
In order to enable compression backend's multi stream support max_comp_streams
must be initially set to desired concurrency level before ZRAM device
initialisation. Once the device initialised as a single stream compression
backend (max_comp_streams equals to 0) changing the value of max_comp_streams
will not take any effect, because single stream compression backend implemented
as a special case and does not support dynamic max_comp_streams. Only multi
stream backend supports dynamic max_comp_streams adjustment.
backend (max_comp_streams equals to 1), you will see error if you try to change
the value of max_comp_streams because single stream compression backend
implemented as a special case by lock overhead issue and does not support
dynamic max_comp_streams. Only multi stream backend supports dynamic
max_comp_streams adjustment.
3) Select compression algorithm
Using comp_algorithm device attribute one can see available and