Use mmb inode buffer writeout infrastructure to reliably write out inode's block on fsync(2). Signed-off-by: Jan Kara --- fs/udf/inode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/udf/inode.c b/fs/udf/inode.c index 67bcf83758c8..4102d3482319 100644 --- a/fs/udf/inode.c +++ b/fs/udf/inode.c @@ -1707,7 +1707,7 @@ void udf_update_extra_perms(struct inode *inode, umode_t mode) int udf_write_inode(struct inode *inode, struct writeback_control *wbc) { - return udf_update_inode(inode, wbc->sync_mode == WB_SYNC_ALL); + return udf_update_inode(inode, 0); } static int udf_sync_inode(struct inode *inode) @@ -1937,6 +1937,7 @@ static int udf_update_inode(struct inode *inode, int do_sync) /* write the data blocks */ mark_buffer_dirty(bh); + iinfo->i_metadata_bhs.inode_blk = bh->b_blocknr; if (do_sync) { sync_dirty_buffer(bh); if (buffer_write_io_error(bh)) { -- 2.51.0