On Sun, 11 Apr 2010 12:27:49 +0800, Li Hong <[email protected]> wrote:
> On Sun, Apr 11, 2010 at 03:10:05AM +0900, Ryusuke Konishi wrote:
> > On Sun, 11 Apr 2010 00:17:00 +0800, Li Hong <[email protected]> wrote:
> > > From 466fbbc10dabc8a14e292ee19636fc534036a8b7 Mon Sep 17 00:00:00 2001
> > > From: Li Hong <[email protected]>
> > > Date: Sat, 10 Apr 2010 22:26:04 +0800
> > > Subject: [PATCH 2/3] nilfs2: nilfs_segctor_destroy() should do a full job
> > >
> > > To set "sbi->s_sc_info = NULL;" is also a part of
> > > nilfs_segctor_destroy()'s job.
> > > Move it into the destroy procedure.
> > >
> > > Signed-off-by: Li Hong <[email protected]>
> >
> > No, don't do this. sbi->s_sc_info is the holder of the segment
> > constructor object and is not a part of the object though
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> No, my meaning is that: to set "sbi->s_sc_info = NULL;" is also a _part_ of
> nilfs_segctor_destroy()'s _job_.
It's your opinion, and my opinion is different. I'd prefer to
intentionally keep the clearance in
nilfs_detach_segment_constructor(). It's not a matter of your
changelog description.
Thanks,
Ryusuke Konishi
> I should make the explanation clearer. IMO, I just think 'kfree
> something' and 'set the obj to NULL' can't be seperated by a
> procedure.
> Thanks,
> Li Hong
>
> > nilfs_segctor_destroy needs some cleanup.
> >
> > Ryusuke Konishi
> >
> > > ---
> > > fs/nilfs2/segment.c | 5 ++---
> > > 1 files changed, 2 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
> > > index 514620d..dd3c4d5 100644
> > > --- a/fs/nilfs2/segment.c
> > > +++ b/fs/nilfs2/segment.c
> > > @@ -2774,6 +2774,7 @@ static void nilfs_segctor_destroy(struct
> > > nilfs_sc_info *sci)
> > > down_write(&sbi->s_nilfs->ns_segctor_sem);
> > >
> > > kfree(sci);
> > > + sbi->s_sc_info = NULL;
> > > }
> > >
> > > /**
> > > @@ -2829,10 +2830,8 @@ void nilfs_detach_segment_constructor(struct
> > > nilfs_sb_info *sbi)
> > > LIST_HEAD(garbage_list);
> > >
> > > down_write(&nilfs->ns_segctor_sem);
> > > - if (NILFS_SC(sbi)) {
> > > + if (NILFS_SC(sbi))
> > > nilfs_segctor_destroy(NILFS_SC(sbi));
> > > - sbi->s_sc_info = NULL;
> > > - }
> > >
> > > /* Force to free the list of dirty files */
> > > spin_lock(&sbi->s_inode_lock);
> > > --
> > > 1.6.3.3
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> > > the body of a message to [email protected]
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html