Blame patches.suse/ceph-only-check-pool-permissions-for-regular-files.patch
|
Luis Henriques |
8d1bd9 |
From: Jeff Layton <jlayton@kernel.org>
|
|
Luis Henriques |
8d1bd9 |
Date: Tue, 26 Jan 2021 11:49:54 -0500
|
|
Luis Henriques |
8d1bd9 |
Subject: ceph: only check pool permissions for regular files
|
|
Luis Henriques |
8d1bd9 |
Git-commit: e9b2250156c381b0973ea6ec3890fe8706426ecc
|
|
Luis Henriques |
8d1bd9 |
Patch-mainline: v5.13-rc1
|
|
Luis Henriques |
8d1bd9 |
References: bsc#1186501
|
|
Luis Henriques |
8d1bd9 |
|
|
Luis Henriques |
8d1bd9 |
There is no need to do a ceph_pool_perm_check() on anything that isn't a
|
|
Luis Henriques |
8d1bd9 |
regular file, as the MDS is what handles talking to the OSD in those
|
|
Luis Henriques |
8d1bd9 |
cases. Just return 0 if it's not a regular file.
|
|
Luis Henriques |
8d1bd9 |
|
|
Luis Henriques |
8d1bd9 |
Reported-by: Luis Henriques <lhenriques@suse.de>
|
|
Luis Henriques |
8d1bd9 |
Signed-off-by: Jeff Layton <jlayton@kernel.org>
|
|
Luis Henriques |
8d1bd9 |
Reviewed-by: Xiubo Li <xiubli@redhat.com>
|
|
Luis Henriques |
8d1bd9 |
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
|
|
Luis Henriques |
8d1bd9 |
Acked-by: Luis Henriques <lhenriques@suse.com>
|
|
Luis Henriques |
8d1bd9 |
|
|
Luis Henriques |
8d1bd9 |
---
|
|
Luis Henriques |
8d1bd9 |
fs/ceph/addr.c | 4 ++++
|
|
Luis Henriques |
8d1bd9 |
1 file changed, 4 insertions(+)
|
|
Luis Henriques |
8d1bd9 |
|
|
Luis Henriques |
8d1bd9 |
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
|
|
Luis Henriques |
8d1bd9 |
index bc9864524fde..aa612bc8a559 100644
|
|
Luis Henriques |
8d1bd9 |
--- a/fs/ceph/addr.c
|
|
Luis Henriques |
8d1bd9 |
+++ b/fs/ceph/addr.c
|
|
Luis Henriques |
8d1bd9 |
@@ -1941,6 +1941,10 @@ int ceph_pool_perm_check(struct inode *inode, int need)
|
|
Luis Henriques |
8d1bd9 |
s64 pool;
|
|
Luis Henriques |
8d1bd9 |
int ret, flags;
|
|
Luis Henriques |
8d1bd9 |
|
|
Luis Henriques |
8d1bd9 |
+ /* Only need to do this for regular files */
|
|
Luis Henriques |
8d1bd9 |
+ if (!S_ISREG(inode->i_mode))
|
|
Luis Henriques |
8d1bd9 |
+ return 0;
|
|
Luis Henriques |
8d1bd9 |
+
|
|
Luis Henriques |
8d1bd9 |
if (ci->i_vino.snap != CEPH_NOSNAP) {
|
|
Luis Henriques |
8d1bd9 |
/*
|
|
Luis Henriques |
8d1bd9 |
* Pool permission check needs to write to the first object.
|
|
Luis Henriques |
8d1bd9 |
|