include/linux/zio-buffer.h: fix missing return when buffer disabled

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
Acked-by: Alessandro Rubini <rubini@gnudd.com>
core.c: set memory to zero during allocation with kmem_cache_zalloc()

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
Acked-by: Alessandro Rubini <rubini@gnudd.com>
promote __try_push() to generic trigger helper

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
Acked-by: Alessandro Rubini <rubinig@gnudd.com>
trigger: data_done returns an integer

The data_done trigger operation returns an integer which mean if the
trigger must be automatically re-armed (1) or not (0). The rearm value
it is returned by zio_trigger_data_done to notify if the trigger was
rearmed or not.

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
Acked-by: Alessandro Rubini <rubini@gnudd.com>
zio-trig-user.c: add data_done operations to handle output

[output]
If the user fills the buffer with many blocks, trigger user must
be able to re-arm itself after data_done to immediately output all
blocks in the buffer.

Signed-off-by: Federico Vaga <federico.vaga@gmail.com>
Acked-by: Alessandro Rubini <rubini@gnudd.com>