> @@ -1352,19 +1340,13 @@ static int exfat_rename(struct inode *old_dir, struct 
> dentry *old_dentry,
>       new_dir->i_ctime = new_dir->i_mtime = new_dir->i_atime =
>               EXFAT_I(new_dir)->i_crtime = current_time(new_dir);
>       exfat_truncate_atime(&new_dir->i_atime);
> -     if (IS_DIRSYNC(new_dir))
> -             exfat_sync_inode(new_dir);
> -     else
> -             mark_inode_dirty(new_dir);
> +     exfat_update_inode(new_dir);
> 
>       i_pos = ((loff_t)EXFAT_I(old_inode)->dir.dir << 32) |
>               (EXFAT_I(old_inode)->entry & 0xffffffff);
>       exfat_unhash_inode(old_inode);
>       exfat_hash_inode(old_inode, i_pos);
> -     if (IS_DIRSYNC(new_dir))
> -             exfat_sync_inode(old_inode);
> -     else
> -             mark_inode_dirty(old_inode);
> +     exfat_update_inode(old_inode);
This is checking if old_inode is IS_DIRSYNC, not new_dir.
Is there any reason ?

Reply via email to