f2fs: Missing definition for down_write_nest_lock
async fsync from htc one (ported by faux123)

- with missing code supplied by derteufel.
- also includes conversion to fput_light found in another commit.
drivers/staging/zcache/zcache-main.c

- manually applied this commit.

Currently the amount of pools each client can use is limited to 16, this is
and arbitrary limit which isn't really required by current implementation.

This places and arbitrary limit on the number of mounted filesystems that
can use cleancache.

This patch removes that limit and uses IDR to do sparse mapping of pools
in each client.

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>