]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ext4: convert timers to use timer_setup()
authorKees Cook <keescook@chromium.org>
Wed, 18 Oct 2017 16:45:17 +0000 (12:45 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 18 Oct 2017 16:45:17 +0000 (12:45 -0400)
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.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: linux-ext4@vger.kernel.org
fs/ext4/super.c

index 289a40a81299ec3e45dc566620ca8bd3d152a539..64d5e9e78dbc49fe8ba4ec8285dec77f2aac2bbe 100644 (file)
@@ -2794,14 +2794,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. */
@@ -3988,8 +3985,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))