From: Goldwyn Rodrigues <rgoldwyn@suse.de> To: linux-fsdevel@vger.kernel.org Cc: jack@suse.com, hch@infradead.org, linux-block@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, sagi@grimberg.me, avi@scylladb.com, axboe@kernel.dk, linux-api@vger.kernel.org, Goldwyn Rodrigues <rgoldwyn@suse.com> Subject: [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Date: Thu, 11 May 2017 14:17:01 -0500 [thread overview] Message-ID: <20170511191710.31959-2-rgoldwyn@suse.de> (raw) In-Reply-To: <20170511191710.31959-1-rgoldwyn@suse.de> From: Goldwyn Rodrigues <rgoldwyn@suse.com> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Reviewed-by: Christoph Hellwig <hch@lst.de> --- fs/read_write.c | 12 +++--------- include/linux/fs.h | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/fs/read_write.c b/fs/read_write.c index c4f88afbc67f..362f91cd8d66 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -678,16 +678,10 @@ static ssize_t do_iter_readv_writev(struct file *filp, struct iov_iter *iter, struct kiocb kiocb; ssize_t ret; - if (flags & ~(RWF_HIPRI | RWF_DSYNC | RWF_SYNC)) - return -EOPNOTSUPP; - init_sync_kiocb(&kiocb, filp); - if (flags & RWF_HIPRI) - kiocb.ki_flags |= IOCB_HIPRI; - if (flags & RWF_DSYNC) - kiocb.ki_flags |= IOCB_DSYNC; - if (flags & RWF_SYNC) - kiocb.ki_flags |= (IOCB_DSYNC | IOCB_SYNC); + ret = kiocb_set_rw_flags(&kiocb, flags); + if (ret) + return ret; kiocb.ki_pos = *ppos; if (type == READ) diff --git a/include/linux/fs.h b/include/linux/fs.h index 7251f7bb45e8..869c9a6fe58d 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -3049,6 +3049,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_HIPRI | RWF_DSYNC | RWF_SYNC))) + 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; -- 2.12.0
next prev parent reply other threads:[~2017-05-11 19:17 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-05-11 19:17 [PATCH 0/10 v8] No wait AIO Goldwyn Rodrigues 2017-05-11 19:17 ` Goldwyn Rodrigues [this message] 2017-05-11 19:17 ` [PATCH 02/10] fs: Introduce filemap_range_has_page() Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 03/10] fs: Use RWF_* flags for AIO operations Goldwyn Rodrigues 2017-05-11 19:17 ` Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 04/10] fs: Introduce RWF_NOWAIT Goldwyn Rodrigues 2017-05-15 9:47 ` Jan Kara 2017-05-15 9:47 ` Jan Kara 2017-05-11 19:17 ` [PATCH 05/10] fs: return if direct write will trigger writeback Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 06/10] fs: Introduce IOMAP_NOWAIT Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 07/10] fs: return on congested block device Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 08/10] ext4: nowait aio support Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 09/10] xfs: " Goldwyn Rodrigues 2017-05-11 19:17 ` [PATCH 10/10] btrfs: " Goldwyn Rodrigues 2017-05-24 16:41 [PATCH 0/10 v9] No wait AIO Goldwyn Rodrigues 2017-05-24 16:41 ` [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Goldwyn Rodrigues 2017-05-25 8:16 ` Jan Kara 2017-06-05 5:35 [PATCH 0/10 v10] No wait AIO Goldwyn Rodrigues 2017-06-05 5:35 ` [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Goldwyn Rodrigues 2017-06-06 11:19 [PATCH 0/10 v11] No wait AIO Goldwyn Rodrigues 2017-06-06 11:19 ` [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Goldwyn Rodrigues 2017-06-15 15:59 [PATCH 0/10 v12] No wait AIO Goldwyn Rodrigues 2017-06-15 15:59 ` [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Goldwyn Rodrigues 2017-06-19 16:33 [PATCH 0/10 v13] merge request: No wait AIO Goldwyn Rodrigues 2017-06-19 16:33 ` [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Goldwyn Rodrigues 2017-06-20 12:05 [PATCH 0/10 v14] merge request: No wait AIO Goldwyn Rodrigues 2017-06-20 12:05 ` [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags Goldwyn Rodrigues
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170511191710.31959-2-rgoldwyn@suse.de \ --to=rgoldwyn@suse.de \ --cc=avi@scylladb.com \ --cc=axboe@kernel.dk \ --cc=hch@infradead.org \ --cc=jack@suse.com \ --cc=linux-api@vger.kernel.org \ --cc=linux-block@vger.kernel.org \ --cc=linux-btrfs@vger.kernel.org \ --cc=linux-ext4@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-xfs@vger.kernel.org \ --cc=rgoldwyn@suse.com \ --cc=sagi@grimberg.me \ --subject='Re: [PATCH 01/10] fs: Separate out kiocb flags setup based on RWF_* flags' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.