From: Chao Yu <yuchao0@huawei.com> To: Jaegeuk Kim <jaegeuk@kernel.org>, Goldwyn Rodrigues <rgoldwyn@suse.de> Cc: <linux-fsdevel@vger.kernel.org>, <linux-ext4@vger.kernel.org>, <linux-btrfs@vger.kernel.org>, <hch@infradead.org>, <andres@anarazel.de>, <david@fromorbit.com>, <riteshh@linux.ibm.com>, <linux-f2fs-devel@lists.sourceforge.net>, Goldwyn Rodrigues <rgoldwyn@suse.com> Subject: Re: [PATCH 3/3] f2fs: fix inode rwsem regression Date: Mon, 16 Sep 2019 09:16:17 +0800 Message-ID: <624dcdc9-db6b-d6dd-6df4-b175c1455dc7@huawei.com> (raw) In-Reply-To: <20190913194641.GA72768@jaegeuk-macbookpro.roam.corp.google.com> On 2019/9/14 3:46, Jaegeuk Kim wrote: > https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/commit/?h=dev&id=ebef4d7eda0d06a6ab6dc0f9e9f848276e605962 Reviewed-by: Chao Yu <yuchao0@huawei.com> Thanks, > > Merged. Thanks, > > On 09/11, Goldwyn Rodrigues wrote: >> From: Goldwyn Rodrigues <rgoldwyn@suse.com> >> >> This is similar to 942491c9e6d6 ("xfs: fix AIM7 regression") >> Apparently our current rwsem code doesn't like doing the trylock, then >> lock for real scheme. So change our read/write methods to just do the >> trylock for the RWF_NOWAIT case. >> >> We don't need a check for IOCB_NOWAIT and !direct-IO because it >> is checked in generic_write_checks(). >> >> Fixes: b91050a80cec ("f2fs: add nowait aio support") >> Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> >> --- >> fs/f2fs/file.c | 10 +++------- >> 1 file changed, 3 insertions(+), 7 deletions(-) >> >> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c >> index 3e58a6f697dd..c6f3ef815c05 100644 >> --- a/fs/f2fs/file.c >> +++ b/fs/f2fs/file.c >> @@ -3134,16 +3134,12 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) >> goto out; >> } >> >> - if ((iocb->ki_flags & IOCB_NOWAIT) && !(iocb->ki_flags & IOCB_DIRECT)) { >> - ret = -EINVAL; >> - goto out; >> - } >> - >> - if (!inode_trylock(inode)) { >> - if (iocb->ki_flags & IOCB_NOWAIT) { >> + if (iocb->ki_flags & IOCB_NOWAIT) { >> + if (!inode_trylock(inode)) { >> ret = -EAGAIN; >> goto out; >> } >> + } else { >> inode_lock(inode); >> } >> >> -- >> 2.16.4 > . >
prev parent reply index Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20190910223327.mnegfoggopwqqy33@alap3.anarazel.de> [not found] ` <20190911040420.GB27547@dread.disaster.area> 2019-09-11 9:39 ` Odd locking pattern introduced as part of "nowait aio support" Andres Freund 2019-09-11 10:19 ` Christoph Hellwig 2019-09-11 10:31 ` Ritesh Harjani 2019-09-11 10:55 ` Goldwyn Rodrigues 2019-09-11 16:45 ` Fix inode sem regression for nowait Goldwyn Rodrigues 2019-09-11 16:45 ` [PATCH 1/3] btrfs: fix inode rwsem regression Goldwyn Rodrigues 2019-09-11 17:21 ` David Sterba 2019-09-11 16:45 ` [PATCH 2/3] ext4: " Goldwyn Rodrigues 2019-09-12 8:52 ` Ritesh Harjani 2019-09-12 9:26 ` Matthew Bobrowski 2019-09-23 10:10 ` Jan Kara 2019-09-23 13:18 ` Theodore Y. Ts'o 2019-09-11 16:45 ` [PATCH 3/3] f2fs: " Goldwyn Rodrigues 2019-09-12 6:17 ` Chao Yu 2019-09-13 19:46 ` Jaegeuk Kim 2019-09-16 1:16 ` Chao Yu [this message]
Reply instructions: You may reply publically 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=624dcdc9-db6b-d6dd-6df4-b175c1455dc7@huawei.com \ --to=yuchao0@huawei.com \ --cc=andres@anarazel.de \ --cc=david@fromorbit.com \ --cc=hch@infradead.org \ --cc=jaegeuk@kernel.org \ --cc=linux-btrfs@vger.kernel.org \ --cc=linux-ext4@vger.kernel.org \ --cc=linux-f2fs-devel@lists.sourceforge.net \ --cc=linux-fsdevel@vger.kernel.org \ --cc=rgoldwyn@suse.com \ --cc=rgoldwyn@suse.de \ --cc=riteshh@linux.ibm.com \ /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
Linux-BTRFS Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-btrfs/0 linux-btrfs/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-btrfs linux-btrfs/ https://lore.kernel.org/linux-btrfs \ linux-btrfs@vger.kernel.org public-inbox-index linux-btrfs Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-btrfs AGPL code for this site: git clone https://public-inbox.org/public-inbox.git