Whamcloud - gitweb
LU-13493 llite: check if page truncated in ll_write_begin()
See following function flows:
CPU0 CPU1
|->grab_cache_page_nowait
|->find_get_page
|->__find_get_page (page unlocked)
|->truncate page
|->trylock_page —->page might has been truncated after this.
So it is possible that page might has been truncated after
grab_cache_page_nowait() return even page lock is held.
We need check wheather vmpage->mapping change in ll_write_begin()
otherwise, we will have truncated page with NULL mapping, which
will trigger assertions in vvp_set_pagevec_dirty().
This patch also fix assertion string doesn't end in newline.
Change-Id: I46e14f560378a39d8ae1353d60cc49c0f0b241c0
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/38425
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>