ext4: Convert timers to use timer_setup()
PATCH 1/1 ext4: Convert timers to use timer_setup()
In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly.
---
This requires commit 686fef928bba ("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone.
--- fs/ext4/super.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-)
fs/ext4/super.c +5 -9
@@ -2791,14 +2791,11 @@ static int ext4_feature_set_ok(struct super_block *sb, int readonly)* This function is called once a day if we have errors logged * on the file system */ -static void print_daily_error_info (unsigned long arg) +static void print_daily_error_info (struct timer_list *t) { -struct super_block *sb = (struct super_block *) arg; -struct ext4_sb_info *sbi; -struct ext4_super_block *es; - - sbi =EXT4_SB (sb); - es = sbi->s_es; +struct ext4_sb_info *sbi =from_timer (sbi, t, s_err_report); +struct super_block *sb = sbi->s_sb; +struct ext4_super_block *es = sbi->s_es;if (es->s_error_count)/* fsck newer than v1.41.13 is needed to clean this condition. */
@@ -3980,8 +3977,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)get_random_bytes (&sbi->s_next_generation,sizeof (u32));spin_lock_init (&sbi->s_next_gen_lock); -setup_timer (&sbi->s_err_report, print_daily_error_info, - (unsigned long ) sb); +timer_setup (&sbi->s_err_report, print_daily_error_info,0 );/* Register extent status tree shrinker */ if (ext4_es_register_shrinker (sbi))
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Quoted 9 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.Cc "Theodore Ts'o" <[email protected]>Cc Andreas Dilger <[email protected]>Cc Thomas Gleixner <[email protected]>Signed-off-by Kees Cook <[email protected]>
The patch looks good. You can add:
Honza
Quoted 48 lines
---
This requires commit686fef928bba("timer: Prepare to change timer callback argument type") in v4.14-rc3, but should be otherwise stand-alone.--- fs/ext4/super.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-)fs/ext4/super.c +5
-9@@ -2791,14 +2791,11 @@ static int ext4_feature_set_ok(struct super_block *sb, int readonly)* This function is called once a day if we have errors logged * on the file system */ -static void print_daily_error_info (unsigned long arg) +static void print_daily_error_info (struct timer_list *t) { -struct super_block *sb = (struct super_block *) arg; -struct ext4_sb_info *sbi; -struct ext4_super_block *es; - - sbi =EXT4_SB (sb); - es = sbi->s_es; +struct ext4_sb_info *sbi =from_timer (sbi, t, s_err_report); +struct super_block *sb = sbi->s_sb; +struct ext4_super_block *es = sbi->s_es;if (es->s_error_count)/* fsck newer than v1.41.13 is needed to clean this condition. */ @@ -3980,8 +3977,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)get_random_bytes (&sbi->s_next_generation,sizeof (u32));spin_lock_init (&sbi->s_next_gen_lock); -setup_timer (&sbi->s_err_report, print_daily_error_info, - (unsigned long ) sb); +timer_setup (&sbi->s_err_report, print_daily_error_info,0 );/* Register extent status tree shrinker */ if (ext4_es_register_shrinker (sbi))Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR