OSDN Git Service

gfs2_atomic_open(): fix O_EXCL|O_CREAT handling on cold dcache
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 10 Mar 2020 13:31:41 +0000 (09:31 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Mar 2020 06:14:21 +0000 (07:14 +0100)
commit777179200cb89c0dce7448dbe34883ec132fe5db
tree2d11f252e24296d6cb34b49aaceafc0b9b616446
parenta8ab0b70979059773f34171c8f05f340f60d47d9
gfs2_atomic_open(): fix O_EXCL|O_CREAT handling on cold dcache

commit 21039132650281de06a169cbe8a0f7e5c578fd8b upstream.

with the way fs/namei.c:do_last() had been done, ->atomic_open()
instances needed to recognize the case when existing file got
found with O_EXCL|O_CREAT, either by falling back to finish_no_open()
or failing themselves.  gfs2 one didn't.

Fixes: 6d4ade986f9c (GFS2: Add atomic_open support)
Cc: stable@kernel.org # v3.11
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/gfs2/inode.c