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:17:51 +0000 (07:17 +0100)
commit9719442f9e24181e09c4db5fbaa56ac30f2cff34
tree0f076fd73fe29d9d4c4a7641fc3d42e7ddfd8d3d
parent918ba24a9bbf85cbca33d2f3d5369915d3e7fbd3
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