|
@@ -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))
|