bdev: prevent cloned bio memory leak

bio gotten by bio_alloc(), bio_get() or bio_clone() should
be freed with bio_put() call. error reported by kmemleak:

 unreferenced object 0xffff88014bf5c400 (size 1024):
 hex dump (first 32 bytes):
   00 fd 30 05 00 ea ff ff 00 10 00 00 00 00 00 00  ..0.............
   80 fd 30 05 00 ea ff ff 00 10 00 00 00 00 00 00  ..0.............
   backtrace:
    [<ffffffff814894b5>] kmemleak_alloc+0x26/0x43
    [<ffffffff811321c0>] kmem_cache_alloc+0xfc/0x1f0
    [<ffffffff81172f95>] bvec_alloc+0xa9/0xc9
    [<ffffffff811730ac>] bio_alloc_bioset+0xf7/0x184
    [<ffffffff811732ab>] bio_clone_bioset+0xeb/0x20e
    [<ffffffffa01e8e00>] 0xffffffffa01e8e00              /* pluginfs */
    [<ffffffff81287cd4>] generic_make_request+0x9c/0xdb
    [<ffffffff81287e0a>] submit_bio+0xf7/0x136
    [<ffffffff8117a39d>] __mpage_writepage+0x45c/0x5b4
    [<ffffffff810fb7ac>] write_cache_pages+0x2af/0x464
    [<ffffffff8117a61a>] mpage_writepages+0x64/0x9d
    [<ffffffff811f089c>] ext2_writepages+0x15/0x17
    [<ffffffff810fd201>] do_writepages+0x21/0x2f
    [<ffffffff810f3cb7>] __filemap_fdatawrite_range+0x55/0x57
    [<ffffffff810f3d7d>] filemap_write_and_wait_range+0x2d/0x5b
    [<ffffffff81164a97>] generic_file_fsync+0x26/0x83

Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Merge branch 'master' of git://pluginfs.org/git/fhrbata/pluginfs
pluginfs: add alloc_inode and destroy_inode operations

As pointed out by Sergey we cannot block/schedule in plgfs_inode_set, because
this callback is called with inode_hash_lock spinlock held. Meaning the
allocation of inode_info here with GFP_KERNEL is wrong. To fix this the
inode_info allocation and destruction is moved to alloc_inode and destroy_inode
callbacks.

The original Sergey's post about this problem could be found here
http://pluginfs.org/pipermail/devel/2014-January/000008.html

Signed-off-by: Frantisek Hrbata <fhrbata@pluginfs.org>
Tested-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
remove CR from WTFPL

Signed-off-by: Frantisek Hrbata <fhrbata@pluginfs.org>
Merge branch 'master' of git://pluginfs.org/git/fhrbata/pluginfs