• Luis Henriques's avatar
    zram: introduce comp algorithm fallback functionality · 1d5b43bf
    Luis Henriques authored
    When the user supplies an unsupported compression algorithm, keep the
    previously selected one (knowingly supported) or the default one (if the
    compression algorithm hasn't been changed yet).
    
    Note that previously this operation (i.e. setting an invalid algorithm)
    would result in no algorithm being selected, which means that this
    represents a small change in the default behaviour.
    
    Minchan said:
    
    For initializing zram, we need to set up 3 optional parameters in advance.
    
    1. the number of compression streams
    2. memory limitation
    3. compression algorithm
    
    Although user pass completely wrong value to set up for 1 and 2
    parameters, it's okay because they have default value so zram will be
    initialized with the default value (of course, when user passes a wrong
    value via *echo*, sysfs returns -EINVAL so the user can notice it).
    
    But 3 is not consistent with other optional parameters.  IOW, if the
    user passes a wrong value to set up 3 parameter, zram's initialization
    would fail unlike other optional parameters.
    
    So this patch makes them consistent.
    Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
    Acked-by: default avatarMinchan Kim <minchan@kernel.org>
    Acked-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    1d5b43bf
zram_drv.c 33.9 KB