Message ID | 20230817141337.1025891-3-amir73il@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kiocb_{start,end}_write() helpers | expand |
On Thu 17-08-23 17:13:32, Amir Goldstein wrote: > and use sb_end_write() instead of open coded version. > > Signed-off-by: Amir Goldstein <amir73il@gmail.com> Looks good. Feel free to add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > include/linux/fs.h | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/include/linux/fs.h b/include/linux/fs.h > index b2adee67f9b2..ced388aff51f 100644 > --- a/include/linux/fs.h > +++ b/include/linux/fs.h > @@ -2545,6 +2545,13 @@ static inline bool inode_wrong_type(const struct inode *inode, umode_t mode) > return (inode->i_mode ^ mode) & S_IFMT; > } > > +/** > + * file_start_write - get write access to a superblock for regular file io > + * @file: the file we want to write to > + * > + * This is a variant of sb_start_write() which is a noop on non-regualr file. > + * Should be matched with a call to file_end_write(). > + */ > static inline void file_start_write(struct file *file) > { > if (!S_ISREG(file_inode(file)->i_mode)) > @@ -2559,11 +2566,17 @@ static inline bool file_start_write_trylock(struct file *file) > return sb_start_write_trylock(file_inode(file)->i_sb); > } > > +/** > + * file_end_write - drop write access to a superblock of a regular file > + * @file: the file we wrote to > + * > + * Should be matched with a call to file_start_write(). > + */ > static inline void file_end_write(struct file *file) > { > if (!S_ISREG(file_inode(file)->i_mode)) > return; > - __sb_end_write(file_inode(file)->i_sb, SB_FREEZE_WRITE); > + sb_end_write(file_inode(file)->i_sb); > } > > /* > -- > 2.34.1 >
diff --git a/include/linux/fs.h b/include/linux/fs.h index b2adee67f9b2..ced388aff51f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2545,6 +2545,13 @@ static inline bool inode_wrong_type(const struct inode *inode, umode_t mode) return (inode->i_mode ^ mode) & S_IFMT; } +/** + * file_start_write - get write access to a superblock for regular file io + * @file: the file we want to write to + * + * This is a variant of sb_start_write() which is a noop on non-regualr file. + * Should be matched with a call to file_end_write(). + */ static inline void file_start_write(struct file *file) { if (!S_ISREG(file_inode(file)->i_mode)) @@ -2559,11 +2566,17 @@ static inline bool file_start_write_trylock(struct file *file) return sb_start_write_trylock(file_inode(file)->i_sb); } +/** + * file_end_write - drop write access to a superblock of a regular file + * @file: the file we wrote to + * + * Should be matched with a call to file_start_write(). + */ static inline void file_end_write(struct file *file) { if (!S_ISREG(file_inode(file)->i_mode)) return; - __sb_end_write(file_inode(file)->i_sb, SB_FREEZE_WRITE); + sb_end_write(file_inode(file)->i_sb); } /*
and use sb_end_write() instead of open coded version. Signed-off-by: Amir Goldstein <amir73il@gmail.com> --- include/linux/fs.h | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)