On Thu, Mar 25, 2021 at 12:56:06PM -0400, Jeff Layton wrote: > 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@xxxxxxx> Looks good to me, thanks! [ Took me a while to find when/where I reported that -- it was completely swapped out from my memory! But I finally found it on my IRC logs. ] Cheers, -- Luís > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx> > --- > fs/ceph/addr.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c > index d26a88aca014..07cbf21099b8 100644 > --- a/fs/ceph/addr.c > +++ b/fs/ceph/addr.c > @@ -1940,6 +1940,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. > -- > 2.30.2 >