Message ID | 20180228101720.20725-1-lchen@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Larry, On 2018/2/28 18:18, Larry Chen wrote: > The function ocfs2_double_lock tries to lock the inode with lower > blockid first, not lockid. As ocfs2's lock name includes block number, so I think the comment you want to rework is all right. So nack. Thanks, Changwei > > Signed-off-by: Larry Chen <lchen@suse.com> > --- > fs/ocfs2/namei.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c > index c801eddc4bf3..30d454de35a8 100644 > --- a/fs/ocfs2/namei.c > +++ b/fs/ocfs2/namei.c > @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, > if (*bh2) > *bh2 = NULL; > > - /* we always want to lock the one with the lower lockid first. > + /* we always want to lock the one with the lower blockid first. > * and if they are nested, we lock ancestor first */ > if (oi1->ip_blkno != oi2->ip_blkno) { > inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >
Hi Changwei, Thanks for your review. I think the original comment is not as clear as you said since the code does not reflect any relation between lockid and blockid. Besides, the function inside indeed uses the block number for comparision. And it's really misleading for new beginners ,emmmm, like me. :) Thanks, Larry >>> Changwei Ge <ge.changwei@h3c.com> 2018-3-1 上午 8:37 >>> Hi Larry, On 2018/2/28 18:18, Larry Chen wrote: > The function ocfs2_double_lock tries to lock the inode with lower > blockid first, not lockid. As ocfs2's lock name includes block number, so I think the comment you want to rework is all right. So nack. Thanks, Changwei > > Signed-off-by: Larry Chen <lchen@suse.com> > --- > fs/ocfs2/namei.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c > index c801eddc4bf3..30d454de35a8 100644 > --- a/fs/ocfs2/namei.c > +++ b/fs/ocfs2/namei.c > @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, > if (*bh2) > *bh2 = NULL; > > - /* we always want to lock the one with the lower lockid first. > + /* we always want to lock the one with the lower blockid first. > * and if they are nested, we lock ancestor first */ > if (oi1->ip_blkno != oi2->ip_blkno) { > inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >
Hi Larry, There is the same mistake in ocfs2_reflink_inodes_lock(), could you help fixing them all? thanks, Jun On 2018/2/28 18:17, Larry Chen wrote: > The function ocfs2_double_lock tries to lock the inode with lower > blockid first, not lockid. > > Signed-off-by: Larry Chen <lchen@suse.com> > --- > fs/ocfs2/namei.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c > index c801eddc4bf3..30d454de35a8 100644 > --- a/fs/ocfs2/namei.c > +++ b/fs/ocfs2/namei.c > @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, > if (*bh2) > *bh2 = NULL; > > - /* we always want to lock the one with the lower lockid first. > + /* we always want to lock the one with the lower blockid first. > * and if they are nested, we lock ancestor first */ > if (oi1->ip_blkno != oi2->ip_blkno) { > inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >
Hi Jun, I think the comments for both two functions are OK. No need to rework them. As we know, ocfs2 lock name(lock id) are composed of several parts including block number. Thanks, Changw2ei On 2018/3/1 20:58, piaojun wrote: > Hi Larry, > > There is the same mistake in ocfs2_reflink_inodes_lock(), could you help > fixing them all? > > thanks, > Jun > > On 2018/2/28 18:17, Larry Chen wrote: >> The function ocfs2_double_lock tries to lock the inode with lower >> blockid first, not lockid. >> >> Signed-off-by: Larry Chen <lchen@suse.com> >> --- >> fs/ocfs2/namei.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c >> index c801eddc4bf3..30d454de35a8 100644 >> --- a/fs/ocfs2/namei.c >> +++ b/fs/ocfs2/namei.c >> @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, >> if (*bh2) >> *bh2 = NULL; >> >> - /* we always want to lock the one with the lower lockid first. >> + /* we always want to lock the one with the lower blockid first. >> * and if they are nested, we lock ancestor first */ >> if (oi1->ip_blkno != oi2->ip_blkno) { >> inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >> > > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel@oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel >
On 2018/3/1 15:00, Lei Chen wrote: > Hi Changwei, > > Thanks for your review. > > I think the original comment is not as clear as you said since > the code does not reflect any relation between lockid and blockid. > > Besides, the function inside indeed uses the block number for > comparision. And it's really misleading for new beginners ,emmmm, like me. It's OK. Any behavior to fix, improve ocfs2 is encouraged. -Changwei > > :) > > Thanks, > Larry > > > > >>>> Changwei Ge <ge.changwei@h3c.com> 2018-3-1 上午 8:37 >>> > Hi Larry, > > On 2018/2/28 18:18, Larry Chen wrote: > > The function ocfs2_double_lock tries to lock the inode with lower > > blockid first, not lockid. > > As ocfs2's lock name includes block number, so I think the comment you want to > rework is all right. > So nack. > > Thanks, > Changwei > > > > > Signed-off-by: Larry Chen <lchen@suse.com> > > --- > > fs/ocfs2/namei.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c > > index c801eddc4bf3..30d454de35a8 100644 > > --- a/fs/ocfs2/namei.c > > +++ b/fs/ocfs2/namei.c > > @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, > > if (*bh2) > > *bh2 = NULL; > > > > - /* we always want to lock the one with the lower lockid first. > > + /* we always want to lock the one with the lower blockid first. > > * and if they are nested, we lock ancestor first */ > > if (oi1->ip_blkno != oi2->ip_blkno) { > > inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, > > > >
Hi Changwei, On 2018/3/2 9:59, Changwei Ge wrote: > Hi Jun, > I think the comments for both two functions are OK. > No need to rework them. > As we know, ocfs2 lock name(lock id) are composed of several parts including > block number. I looked though the comments involved 'lockid', and found 'lockid' is a concept in dlm level, so ocfs2 level should not be aware of it. thanks, Jun > > Thanks, > Changw2ei > > On 2018/3/1 20:58, piaojun wrote: >> Hi Larry, >> >> There is the same mistake in ocfs2_reflink_inodes_lock(), could you help >> fixing them all? >> >> thanks, >> Jun >> >> On 2018/2/28 18:17, Larry Chen wrote: >>> The function ocfs2_double_lock tries to lock the inode with lower >>> blockid first, not lockid. >>> >>> Signed-off-by: Larry Chen <lchen@suse.com> >>> --- >>> fs/ocfs2/namei.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c >>> index c801eddc4bf3..30d454de35a8 100644 >>> --- a/fs/ocfs2/namei.c >>> +++ b/fs/ocfs2/namei.c >>> @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, >>> if (*bh2) >>> *bh2 = NULL; >>> >>> - /* we always want to lock the one with the lower lockid first. >>> + /* we always want to lock the one with the lower blockid first. >>> * and if they are nested, we lock ancestor first */ >>> if (oi1->ip_blkno != oi2->ip_blkno) { >>> inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >>> >> >> _______________________________________________ >> Ocfs2-devel mailing list >> Ocfs2-devel@oss.oracle.com >> https://oss.oracle.com/mailman/listinfo/ocfs2-devel >> > . >
Hi Changwei and Jun, Thanks for your advice. On 03/02/2018 10:15 AM, piaojun wrote: > Hi Changwei, > > On 2018/3/2 9:59, Changwei Ge wrote: >> Hi Jun, >> I think the comments for both two functions are OK. >> No need to rework them. >> As we know, ocfs2 lock name(lock id) are composed of several parts including >> block number. > I looked though the comments involved 'lockid', and found 'lockid' is a > concept in dlm level, so ocfs2 level should not be aware of it. When reading source code of ocfs2 level, you'll find that 'lockid' is a new concept that has not occurred or be explained before. It's kind of difficult to understand. Maybe 'blockno' or 'blockid' is more sensible than 'lockid' I'm willing to fix them all. Thanks Larry > thanks, > Jun >> Thanks, >> Changw2ei >> >> On 2018/3/1 20:58, piaojun wrote: >>> Hi Larry, >>> >>> There is the same mistake in ocfs2_reflink_inodes_lock(), could you help >>> fixing them all? >>> >>> thanks, >>> Jun >>> >>> On 2018/2/28 18:17, Larry Chen wrote: >>>> The function ocfs2_double_lock tries to lock the inode with lower >>>> blockid first, not lockid. >>>> >>>> Signed-off-by: Larry Chen <lchen@suse.com> >>>> --- >>>> fs/ocfs2/namei.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c >>>> index c801eddc4bf3..30d454de35a8 100644 >>>> --- a/fs/ocfs2/namei.c >>>> +++ b/fs/ocfs2/namei.c >>>> @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, >>>> if (*bh2) >>>> *bh2 = NULL; >>>> >>>> - /* we always want to lock the one with the lower lockid first. >>>> + /* we always want to lock the one with the lower blockid first. >>>> * and if they are nested, we lock ancestor first */ >>>> if (oi1->ip_blkno != oi2->ip_blkno) { >>>> inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >>>> >>> _______________________________________________ >>> Ocfs2-devel mailing list >>> Ocfs2-devel@oss.oracle.com >>> https://oss.oracle.com/mailman/listinfo/ocfs2-devel >>> >> . >>
Hi Jun, On 2018/3/2 10:16, piaojun wrote: > Hi Changwei, > > On 2018/3/2 9:59, Changwei Ge wrote: >> Hi Jun, >> I think the comments for both two functions are OK. >> No need to rework them. >> As we know, ocfs2 lock name(lock id) are composed of several parts including >> block number. > I looked though the comments involved 'lockid', and found 'lockid' is a > concept in dlm level, so ocfs2 level should not be aware of it. I don't agree. Please refer to ocfs2_build_lock_name(). DLM should not know how ocfs2 distinguishes objects it wants to protected. Moreover, ocfs2 has a abstraction layer called dlmglue. -Changwei > > thanks, > Jun >> >> Thanks, >> Changw2ei >> >> On 2018/3/1 20:58, piaojun wrote: >>> Hi Larry, >>> >>> There is the same mistake in ocfs2_reflink_inodes_lock(), could you help >>> fixing them all? >>> >>> thanks, >>> Jun >>> >>> On 2018/2/28 18:17, Larry Chen wrote: >>>> The function ocfs2_double_lock tries to lock the inode with lower >>>> blockid first, not lockid. >>>> >>>> Signed-off-by: Larry Chen <lchen@suse.com> >>>> --- >>>> fs/ocfs2/namei.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c >>>> index c801eddc4bf3..30d454de35a8 100644 >>>> --- a/fs/ocfs2/namei.c >>>> +++ b/fs/ocfs2/namei.c >>>> @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, >>>> if (*bh2) >>>> *bh2 = NULL; >>>> >>>> - /* we always want to lock the one with the lower lockid first. >>>> + /* we always want to lock the one with the lower blockid first. >>>> * and if they are nested, we lock ancestor first */ >>>> if (oi1->ip_blkno != oi2->ip_blkno) { >>>> inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno, >>>> >>> >>> _______________________________________________ >>> Ocfs2-devel mailing list >>> Ocfs2-devel@oss.oracle.com >>> https://oss.oracle.com/mailman/listinfo/ocfs2-devel >>> >> . >> >
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index c801eddc4bf3..30d454de35a8 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c @@ -1133,7 +1133,7 @@ static int ocfs2_double_lock(struct ocfs2_super *osb, if (*bh2) *bh2 = NULL; - /* we always want to lock the one with the lower lockid first. + /* we always want to lock the one with the lower blockid first. * and if they are nested, we lock ancestor first */ if (oi1->ip_blkno != oi2->ip_blkno) { inode1_is_ancestor = ocfs2_check_if_ancestor(osb, oi2->ip_blkno,
The function ocfs2_double_lock tries to lock the inode with lower blockid first, not lockid. Signed-off-by: Larry Chen <lchen@suse.com> --- fs/ocfs2/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)