On Mon 07-08-23 15:38:37, Jeff Layton wrote:
> In later patches, we're going to drop the "now" parameter from the
> update_time operation. Prepare ubifs for this, by having it use the new
> inode_update_timestamps helper.
> 
> Signed-off-by: Jeff Layton <jlay...@kernel.org>

One comment below:

> diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
> index df9086b19cd0..2d0178922e19 100644
> --- a/fs/ubifs/file.c
> +++ b/fs/ubifs/file.c
> @@ -1397,15 +1397,9 @@ int ubifs_update_time(struct inode *inode, struct 
> timespec64 *time,
>               return err;
>  
>       mutex_lock(&ui->ui_mutex);
> -     if (flags & S_ATIME)
> -             inode->i_atime = *time;
> -     if (flags & S_CTIME)
> -             inode_set_ctime_to_ts(inode, *time);
> -     if (flags & S_MTIME)
> -             inode->i_mtime = *time;
> -
> -     release = ui->dirty;
> +     inode_update_timestamps(inode, flags);
>       __mark_inode_dirty(inode, I_DIRTY_SYNC);
> +     release = ui->dirty;
>       mutex_unlock(&ui->ui_mutex);

I think this is wrong. You need to keep sampling ui->dirty before calling
__mark_inode_dirty(). Otherwise you could release budget for inode update
you really need...

>       if (release)
>               ubifs_release_budget(c, &req);

                                                                        Honza

-- 
Jan Kara <j...@suse.com>
SUSE Labs, CR


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to