Re: [PATCH] f2fs: avoid needless inode updates
Please ignore this patch. Thanks, On 09/01, Jaegeuk Kim wrote: > If i_size wan't change at all, we don't need to write inode during fsync. > > Signed-off-by: Jaegeuk Kim> --- > fs/f2fs/f2fs.h | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 4b993961d81d..0d76b572484a 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -2267,11 +2267,11 @@ static inline bool f2fs_skip_inode_update(struct > inode *inode, int dsync) > spin_unlock(>inode_lock[DIRTY_META]); > return ret; > } > - if (!is_inode_flag_set(inode, FI_AUTO_RECOVER) || > - file_keep_isize(inode) || > - i_size_read(inode) & PAGE_MASK) > - return false; > - return F2FS_I(inode)->last_disk_size == i_size_read(inode); > + if (F2FS_I(inode)->last_disk_size == i_size_read(inode)) > + return true; > + > + return is_inode_flag_set(inode, FI_AUTO_RECOVER) && > + !file_keep_isize(inode) && !(i_size_read(inode) & PAGE_MASK); > } > > static inline int f2fs_readonly(struct super_block *sb) > -- > 2.14.0.rc1.383.gd1ce394fe2-goog
Re: [PATCH] f2fs: avoid needless inode updates
Please ignore this patch. Thanks, On 09/01, Jaegeuk Kim wrote: > If i_size wan't change at all, we don't need to write inode during fsync. > > Signed-off-by: Jaegeuk Kim > --- > fs/f2fs/f2fs.h | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 4b993961d81d..0d76b572484a 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -2267,11 +2267,11 @@ static inline bool f2fs_skip_inode_update(struct > inode *inode, int dsync) > spin_unlock(>inode_lock[DIRTY_META]); > return ret; > } > - if (!is_inode_flag_set(inode, FI_AUTO_RECOVER) || > - file_keep_isize(inode) || > - i_size_read(inode) & PAGE_MASK) > - return false; > - return F2FS_I(inode)->last_disk_size == i_size_read(inode); > + if (F2FS_I(inode)->last_disk_size == i_size_read(inode)) > + return true; > + > + return is_inode_flag_set(inode, FI_AUTO_RECOVER) && > + !file_keep_isize(inode) && !(i_size_read(inode) & PAGE_MASK); > } > > static inline int f2fs_readonly(struct super_block *sb) > -- > 2.14.0.rc1.383.gd1ce394fe2-goog
[PATCH] f2fs: avoid needless inode updates
If i_size wan't change at all, we don't need to write inode during fsync. Signed-off-by: Jaegeuk Kim--- fs/f2fs/f2fs.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 4b993961d81d..0d76b572484a 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -2267,11 +2267,11 @@ static inline bool f2fs_skip_inode_update(struct inode *inode, int dsync) spin_unlock(>inode_lock[DIRTY_META]); return ret; } - if (!is_inode_flag_set(inode, FI_AUTO_RECOVER) || - file_keep_isize(inode) || - i_size_read(inode) & PAGE_MASK) - return false; - return F2FS_I(inode)->last_disk_size == i_size_read(inode); + if (F2FS_I(inode)->last_disk_size == i_size_read(inode)) + return true; + + return is_inode_flag_set(inode, FI_AUTO_RECOVER) && + !file_keep_isize(inode) && !(i_size_read(inode) & PAGE_MASK); } static inline int f2fs_readonly(struct super_block *sb) -- 2.14.0.rc1.383.gd1ce394fe2-goog
[PATCH] f2fs: avoid needless inode updates
If i_size wan't change at all, we don't need to write inode during fsync. Signed-off-by: Jaegeuk Kim --- fs/f2fs/f2fs.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 4b993961d81d..0d76b572484a 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -2267,11 +2267,11 @@ static inline bool f2fs_skip_inode_update(struct inode *inode, int dsync) spin_unlock(>inode_lock[DIRTY_META]); return ret; } - if (!is_inode_flag_set(inode, FI_AUTO_RECOVER) || - file_keep_isize(inode) || - i_size_read(inode) & PAGE_MASK) - return false; - return F2FS_I(inode)->last_disk_size == i_size_read(inode); + if (F2FS_I(inode)->last_disk_size == i_size_read(inode)) + return true; + + return is_inode_flag_set(inode, FI_AUTO_RECOVER) && + !file_keep_isize(inode) && !(i_size_read(inode) & PAGE_MASK); } static inline int f2fs_readonly(struct super_block *sb) -- 2.14.0.rc1.383.gd1ce394fe2-goog