diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2016-08-09 05:09:23 -0800 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2016-08-09 05:09:23 -0800 |
commit | 628e15ca237f7139c54dd824300206138d391e34 (patch) | |
tree | 2420e3aeb232b7a362bdc8e018a6b3b2b5f5a2b5 | |
parent | 885262cd16cc8a0c312f914e25227954cd964c8d (diff) |
bcachefs: fsync on overwriting rename
-rw-r--r-- | drivers/md/bcache/fs.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/bcache/fs.c b/drivers/md/bcache/fs.c index 432b1581c586..1253c1543d90 100644 --- a/drivers/md/bcache/fs.c +++ b/drivers/md/bcache/fs.c @@ -455,6 +455,10 @@ static int bch_rename(struct inode *old_dir, struct dentry *old_dentry, lockdep_assert_held(&old_dir->i_rwsem); lockdep_assert_held(&new_dir->i_rwsem); + if (new_inode) + filemap_write_and_wait_range(old_inode->i_mapping, + 0, LLONG_MAX); + if (new_inode && S_ISDIR(old_inode->i_mode)) { lockdep_assert_held(&new_inode->i_rwsem); |