diff options
| author | Hongling Zeng <zenghongling@kylinos.cn> | 2026-06-04 15:43:25 +0800 |
|---|---|---|
| committer | Ilya Dryomov <idryomov@gmail.com> | 2026-08-26 19:24:19 +0200 |
| commit | 4f49c3f8a5a86d237bb202ecb17c2802ddc8fd2f (patch) | |
| tree | b56ba7b93043c6d8b7c82715cbd5891576899baf | |
| parent | 8d3ae59288f1e7d58d76558a6ee96d533bc5019f (diff) | |
| download | linux-4f49c3f8a5a86d237bb202ecb17c2802ddc8fd2f.tar.gz linux-4f49c3f8a5a86d237bb202ecb17c2802ddc8fd2f.zip | |
ceph: Fix ERR_PTR(0) in ceph_mkdir()
When mkdir succeeds, ceph_mkdir() sets ret to ERR_PTR(0) which is
incorrect. It should return NULL instead for success.
Fixes: 88d5baf69082 ("Change inode_operations.mkdir to return struct dentry *")
Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn>
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
| -rw-r--r-- | fs/ceph/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index ef9e92e362d3..b4b541a1180c 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -1174,7 +1174,7 @@ static struct dentry *ceph_mkdir(struct mnt_idmap *idmap, struct inode *dir, !req->r_reply_info.head->is_target && !req->r_reply_info.head->is_dentry) err = ceph_handle_notrace_create(dir, dentry); - ret = ERR_PTR(err); + ret = err ? ERR_PTR(err) : NULL; out_req: if (!IS_ERR(ret) && req->r_dentry != dentry) /* Some other dentry was spliced in */ |
