ceph: set pool_ns in new inode layout for async creates
authorJeff Layton <jlayton@kernel.org>
Wed, 26 Jan 2022 17:36:49 +0000 (12:36 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 26 Jan 2022 19:17:50 +0000 (20:17 +0100)
commit4584a768f22b7669cdebabc911543621ac661341
tree6ee02b9e69bfdc55dec161e72d82c7d641781082
parent932a9b5870d38b87ba0a9923c804b1af7d3605b9
ceph: set pool_ns in new inode layout for async creates

Dan reported that he was unable to write to files that had been
asynchronously created when the client's OSD caps are restricted to a
particular namespace.

The issue is that the layout for the new inode is only partially being
filled. Ensure that we populate the pool_ns_data and pool_ns_len in the
iinfo before calling ceph_fill_inode.

Cc: stable@vger.kernel.org
URL: https://tracker.ceph.com/issues/54013
Fixes: 9a8d03ca2e2c ("ceph: attempt to do async create when possible")
Reported-by: Dan van der Ster <dan@vanderster.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/file.c