mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 03:10:30 -04:00
staging: lustre: llite: ensure all data flush out when umount
Write out all extents when clear inode. Otherwise we may lose data while umount. Signed-off-by: Yang Sheng <yang.sheng@intel.com> Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5584 Reviewed-on: http://review.whamcloud.com/12103 Reviewed-by: Bobi Jam <bobijam@gmail.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: James Simmons <jsimmons@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
39ce28033e
commit
7510c5ca70
@@ -1909,20 +1909,13 @@ void ll_delete_inode(struct inode *inode)
|
||||
* osc_extent implementation at LU-1030.
|
||||
*/
|
||||
cl_sync_file_range(inode, 0, OBD_OBJECT_EOF,
|
||||
CL_FSYNC_DISCARD, 1);
|
||||
CL_FSYNC_LOCAL, 1);
|
||||
|
||||
truncate_inode_pages_final(&inode->i_data);
|
||||
|
||||
/* Workaround for LU-118 */
|
||||
if (inode->i_data.nrpages) {
|
||||
spin_lock_irq(&inode->i_data.tree_lock);
|
||||
spin_unlock_irq(&inode->i_data.tree_lock);
|
||||
LASSERTF(inode->i_data.nrpages == 0,
|
||||
"inode="DFID"(%p) nrpages=%lu, see http://jira.whamcloud.com/browse/LU-118\n",
|
||||
PFID(ll_inode2fid(inode)), inode,
|
||||
inode->i_data.nrpages);
|
||||
}
|
||||
/* Workaround end */
|
||||
LASSERTF(!inode->i_data.nrpages,
|
||||
"inode=" DFID "(%p) nrpages=%lu, see http://jira.whamcloud.com/browse/LU-118\n",
|
||||
PFID(ll_inode2fid(inode)), inode, inode->i_data.nrpages);
|
||||
|
||||
ll_clear_inode(inode);
|
||||
clear_inode(inode);
|
||||
|
||||
Reference in New Issue
Block a user