[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ocfs2-devel
Subject:    Re: [Ocfs2-devel] [PATCH] ocfs2: drop acl cache for directories too
From:       Wengang Wang <wen.gang.wang () oracle ! com>
Date:       2021-09-20 15:36:04
Message-ID: 51F22A71-1491-45F5-AFFC-F838839CFBE7 () oracle ! com
[Download RAW message or body]



> On Sep 17, 2021, at 7:43 PM, Joseph Qi <joseph.qi@linux.alibaba.com> wrote:
> 
> It has already been added in -mm tree.

thanks!
wengang

> 
> Thanks,
> Joseph
> 
> On 9/18/21 12:46 AM, Wengang Wang wrote:
> > Hi Andrew,
> > 
> > Can you pls merge this patch if it's not already on the way?
> > 
> > thanks,
> > wengang
> > 
> > On Sep 6, 2021, at 4:42 AM, Joseph Qi \
> > <joseph.qi@linux.alibaba.com<mailto:joseph.qi@linux.alibaba.com>> wrote: 
> > 
> > 
> > On 9/3/21 9:26 AM, Wengang Wang wrote:
> > ocfs2_data_convert_worker() is currently dropping any cached acl info
> > for FILE before down-converting meta lock. It should also drop for DIRECTORY.
> > Otherwise the second acl lookup returns the cached one (from VFS layer) which
> > could be already stale.
> > 
> > The problem we are seeing is that the acl changes on one node doesn't get
> > refreshed on other nodes in the following case:
> > 
> > Node 1                    Node 2
> > --------------            ----------------
> > getfacl dir1
> > 
> > getfacl dir1    <-- this is OK
> > 
> > setfacl -m u:user1:rwX dir1
> > getfacl dir1   <-- see the change for user1
> > 
> > getfacl dir1    <-- can't see change for user1
> > 
> > Signed-off-by: Wengang Wang \
> > <wen.gang.wang@oracle.com<mailto:wen.gang.wang@oracle.com>> 
> > Looks sane to me.
> > Reviewed-by: Joseph Qi \
> > <joseph.qi@linux.alibaba.com<mailto:joseph.qi@linux.alibaba.com>> 
> > ---
> > fs/ocfs2/dlmglue.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c
> > index 50a863fc1779..207ec61569ea 100644
> > --- a/fs/ocfs2/dlmglue.c
> > +++ b/fs/ocfs2/dlmglue.c
> > @@ -3933,7 +3933,7 @@ static int ocfs2_data_convert_worker(struct ocfs2_lock_res \
> > *lockres, oi = OCFS2_I(inode);
> > oi->ip_dir_lock_gen++;
> > mlog(0, "generation: %u\n", oi->ip_dir_lock_gen);
> > - goto out;
> > + goto out_forget;
> > }
> > 
> > if (!S_ISREG(inode->i_mode))
> > @@ -3964,6 +3964,7 @@ static int ocfs2_data_convert_worker(struct ocfs2_lock_res \
> > *lockres, filemap_fdatawait(mapping);
> > }
> > 
> > +out_forget:
> > forget_all_cached_acls(inode);
> > 
> > out:
> > 

_______________________________________________
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic