On 12/30/2015 02:20 AM, rgold...@suse.de wrote: > From: Goldwyn Rodrigues <rgold...@suse.com> > > DLM does not cache locks. So, blocking lock and unlock > will only make the performance worse where contention over > the locks is high. > > Signed-off-by: Goldwyn Rodrigues <rgold...@suse.com> Looks good.
Reviewed-by: Junxiao Bi <junxiao...@oracle.com> > --- > fs/ocfs2/dlmglue.c | 8 -------- > 1 file changed, 8 deletions(-) > > diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c > index 20276e3..f92612e 100644 > --- a/fs/ocfs2/dlmglue.c > +++ b/fs/ocfs2/dlmglue.c > @@ -2432,12 +2432,6 @@ bail: > * done this we have to return AOP_TRUNCATED_PAGE so the aop method > * that called us can bubble that back up into the VFS who will then > * immediately retry the aop call. > - * > - * We do a blocking lock and immediate unlock before returning, though, so > that > - * the lock has a great chance of being cached on this node by the time the > VFS > - * calls back to retry the aop. This has a potential to livelock as nodes > - * ping locks back and forth, but that's a risk we're willing to take to > avoid > - * the lock inversion simply. > */ > int ocfs2_inode_lock_with_page(struct inode *inode, > struct buffer_head **ret_bh, > @@ -2449,8 +2443,6 @@ int ocfs2_inode_lock_with_page(struct inode *inode, > ret = ocfs2_inode_lock_full(inode, ret_bh, ex, OCFS2_LOCK_NONBLOCK); > if (ret == -EAGAIN) { > unlock_page(page); > - if (ocfs2_inode_lock(inode, ret_bh, ex) == 0) > - ocfs2_inode_unlock(inode, ex); > ret = AOP_TRUNCATED_PAGE; > } > > _______________________________________________ Ocfs2-devel mailing list Ocfs2-devel@oss.oracle.com https://oss.oracle.com/mailman/listinfo/ocfs2-devel