ceph: only check pool permissions for regular files
There is no need to do a ceph_pool_perm_check() on anything that isn't a regular file, as the MDS is what handles talking to the OSD in those cases. Just return 0 if it's not a regular file. Reported-by: Luis Henriques <lhenriques@suse.de> Signed-off-by: Jeff Layton <jlayton@kernel.org> Reviewed-by: Xiubo Li <xiubli@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
Родитель
3d8b6987a2
Коммит
e9b2250156
|
@ -1941,6 +1941,10 @@ int ceph_pool_perm_check(struct inode *inode, int need)
|
|||
s64 pool;
|
||||
int ret, flags;
|
||||
|
||||
/* Only need to do this for regular files */
|
||||
if (!S_ISREG(inode->i_mode))
|
||||
return 0;
|
||||
|
||||
if (ci->i_vino.snap != CEPH_NOSNAP) {
|
||||
/*
|
||||
* Pool permission check needs to write to the first object.
|
||||
|
|
Загрузка…
Ссылка в новой задаче