diff options
author | Goldwyn Rodrigues <rgoldwyn@suse.com> | 2017-06-20 07:05:40 -0500 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-06-20 07:12:03 -0600 |
commit | fdd2f5b7de2afaa931e5f7bad7bcda35d1f1b479 (patch) | |
tree | 2774b3a9c34b3529c8efef0842b4fbd71583c2fc /include/linux/fs.h | |
parent | 443bd90f2cca9dec3db9ef9460a9c2a6f095f789 (diff) | |
download | lwn-fdd2f5b7de2afaa931e5f7bad7bcda35d1f1b479.tar.gz lwn-fdd2f5b7de2afaa931e5f7bad7bcda35d1f1b479.zip |
fs: Separate out kiocb flags setup based on RWF_* flags
Also added RWF_SUPPORTED to encompass all flags.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 023f0324762b..96a1a1fa54a9 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -3057,6 +3057,20 @@ static inline int iocb_flags(struct file *file) return res; } +static inline int kiocb_set_rw_flags(struct kiocb *ki, int flags) +{ + if (unlikely(flags & ~RWF_SUPPORTED)) + return -EOPNOTSUPP; + + if (flags & RWF_HIPRI) + ki->ki_flags |= IOCB_HIPRI; + if (flags & RWF_DSYNC) + ki->ki_flags |= IOCB_DSYNC; + if (flags & RWF_SYNC) + ki->ki_flags |= (IOCB_DSYNC | IOCB_SYNC); + return 0; +} + static inline ino_t parent_ino(struct dentry *dentry) { ino_t res; |