On Wed 29-11-17 15:23:52, Luis R. Rodriguez wrote: > This removes superflous freezer calls as they are no longer needed > as the VFS now performs filesystem freezing/thaw if the filesystem has > support for it. > > The following Coccinelle rule was used as follows: > > spatch --sp-file fs-freeze-cleanup.cocci --in-place fs/$FS/ I think your rule misses WQ_FREEZABLE flag for workqueues? That would be also good to get rid of... Honza > > @ has_freeze_fs @ > identifier super_ops; > expression freeze_op; > @@ > > struct super_operations super_ops = { > .freeze_fs = freeze_op, > }; > > @ remove_set_freezable depends on has_freeze_fs @ > expression time; > statement S, S2, S3; > expression task; > @@ > > ( > - set_freezable(); > | > - if (try_to_freeze()) > - continue; > | > - try_to_freeze(); > | > - freezable_schedule(); > + schedule(); > | > - freezable_schedule_timeout(time); > + schedule_timeout(time); > | > - if (freezing(task)) { S } > | > - if (freezing(task)) { S } > - else > { S2 } > | > - freezing(current) > ) > > Generated-by: Coccinelle SmPL > Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> > --- > fs/xfs/xfs_trans_ail.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c > index cef89f7127d3..1f3dd10a9d00 100644 > --- a/fs/xfs/xfs_trans_ail.c > +++ b/fs/xfs/xfs_trans_ail.c > @@ -513,7 +513,6 @@ xfsaild( > long tout = 0; /* milliseconds */ > > current->flags |= PF_MEMALLOC; > - set_freezable(); > > while (1) { > if (tout && tout <= 20) > @@ -551,19 +550,17 @@ xfsaild( > if (!xfs_ail_min(ailp) && > ailp->xa_target == ailp->xa_target_prev) { > spin_unlock(&ailp->xa_lock); > - freezable_schedule(); > + schedule(); > tout = 0; > continue; > } > spin_unlock(&ailp->xa_lock); > > if (tout) > - freezable_schedule_timeout(msecs_to_jiffies(tout)); > + schedule_timeout(msecs_to_jiffies(tout)); > > __set_current_state(TASK_RUNNING); > > - try_to_freeze(); > - > tout = xfsaild_push(ailp); > } > > -- > 2.15.0 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR