f2fs: remove the own bi_private allocation
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Sat, 30 Nov 2013 01:10:31 +0000 (10:10 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 23 Dec 2013 01:18:05 +0000 (10:18 +0900)
commit187b5b8b3dfcfc73126f2743c89cc47df3bf07be
tree0be0b06f1c04b8d87037250317e09048643d0d12
parent8f99a946f360c4083d6e323e10a5928e1ce385a4
f2fs: remove the own bi_private allocation

Previously f2fs allocates its own bi_private data structure all the time even
though we don't use it. But, can we remove this bi_private allocation?

This patch removes such the additional bi_private allocation.

1. Retrieve f2fs_sb_info from its page->mapping->host->i_sb.
 - This removes the usecases of bi_private in end_io.

2. Use bi_private only when we really need it.
 - The bi_private is used only when the checkpoint procedure is conducted.
 - When conducting the checkpoint, f2fs submits a META_FLUSH bio to wait its bio
completion.
 - Since we have no dependancies to remove bi_private now, let's just use
 bi_private pointer as the completion pointer.

Reviewed-by: Gu Zheng <guz.fnst@cn.fujitsu.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/segment.c
fs/f2fs/segment.h