[Ocfs2-devel] [PATCH 1/2] Introduce ocfs2_recover_node
Wengang Wang
wen.gang.wang at oracle.com
Tue Nov 16 18:04:37 PST 2010
On 10-11-17 10:00, Wengang Wang wrote:
> On 10-11-17 09:49, Wengang Wang wrote:
> > On 10-11-16 16:59, Goldwyn Rodrigues wrote:
> >
> > <snip>
> > > @@ -212,8 +198,8 @@ static int ocfs2_recovery_thread_running(struct
> > > ocfs2_super *osb)
> > >
> > > void ocfs2_recovery_exit(struct ocfs2_super *osb)
> > > {
> > > - struct ocfs2_recovery_map *rm;
> > > -
> > > + struct list_head *iter;
> > > + struct ocfs2_recover_node *rn;
> > > /* disable any new recovery threads and wait for any currently
> > > * running ones to exit. Do this before setting the vol_state. */
> > > mutex_lock(&osb->recovery_lock);
> > > @@ -226,75 +212,66 @@ void ocfs2_recovery_exit(struct ocfs2_super *osb)
> > > * complete. */
> > > flush_workqueue(ocfs2_wq);
> > >
> > > - /*
> > > - * Now that recovery is shut down, and the osb is about to be
> > > - * freed, the osb_lock is not taken here.
> > > - */
> > > - rm = osb->recovery_map;
> > > - /* XXX: Should we bug if there are dirty entries? */
> > > -
> > > - kfree(rm);
> > > + spin_lock(&osb->osb_lock);
> > > + list_for_each(iter, &osb->s_recovery_nodes) {
> >
> > list_for_each_safe()?
> >
> > regards,
> > wengang.
> > > + rn = list_entry(iter, struct ocfs2_recover_node,
> > > + rn_list);
> > > + list_del(&rn->rn_list);
>
> If you need to do this here, I guess you may also want to free rm.
Sorry, typo. s/rm/rn
>
> regards,
> wengang.
> > > + }
> > > + spin_unlock(&osb->osb_lock);
> > > }
> > >
More information about the Ocfs2-devel
mailing list