]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
client: Gracefully handle empty pathname for statxat() 61165/head
authorAnoop C S <anoopcs@cryptolab.net>
Mon, 23 Sep 2024 07:06:55 +0000 (12:36 +0530)
committerAnoop C S <anoopcs@cryptolab.net>
Sun, 22 Dec 2024 04:28:18 +0000 (09:58 +0530)
commit770a580d281e1c0b18b1b69ad1a3ab3cfe39d7f1
treedd210c357939dbef12364da8d6f51935d35b756f
parentc06fc10dd2728ed8a26cfda6a89f76bf93f7fdd1
client: Gracefully handle empty pathname for statxat()

man statx(2)[1] says the following:
. . .
AT_EMPTY_PATH
    If pathname is an empty string, operate on the file referred to by
    dirfd (which may have been obtained using the open(2) O_PATH flag).
    In this case, dirfd can refer to any type of file, not just a
    directory.

    If dirfd is AT_FDCWD, the call operates on the current working
    directory.
. . .

Look out for an empty pathname and use the relative fd's inode in the
presence of AT_EMPTY_PATH flag before calling internal _getattr().

Fixes: https://tracker.ceph.com/issues/68189
Review with: git show -w

[1] https://www.man7.org/linux/man-pages/man2/statx.2.html

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
(cherry picked from commit edd7fe76c4919bc243377c6d7aae20b0606b89c3)
src/client/Client.cc
src/include/cephfs/ceph_ll_client.h
src/include/cephfs/libcephfs.h
src/libcephfs.cc
src/test/libcephfs/test.cc