aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLukas Czerner <lczerner@redhat.com>2011-05-20 13:49:51 -0400
committerTheodore Ts'o <tytso@mit.edu>2011-05-20 13:49:51 -0400
commite1290b3e62c496ade19939ce036f35bb69306820 (patch)
treeaaf8fc2fd2b9b7c9c1ce15303bb8debf7ab3d01b /fs
parent4ed5c033c11b33149d993734a6a8de1016e8f03f (diff)
ext4: Remove unnecessary wait_event ext4_run_lazyinit_thread()
For some reason we have been waiting for lazyinit thread to start in the ext4_run_lazyinit_thread() but it is not needed since it was jus unnecessary complexity, so get rid of it. We can also remove li_task and li_wait_task since it is not used anymore. Signed-off-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/ext4.h2
-rw-r--r--fs/ext4/super.c10
2 files changed, 0 insertions, 12 deletions
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index 579dfeda614c..6ce3c7c8574c 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -1605,8 +1605,6 @@ void ext4_get_group_no_and_offset(struct super_block *sb, ext4_fsblk_t blocknr,
1605 */ 1605 */
1606struct ext4_lazy_init { 1606struct ext4_lazy_init {
1607 unsigned long li_state; 1607 unsigned long li_state;
1608 wait_queue_head_t li_wait_task;
1609 struct task_struct *li_task;
1610 struct list_head li_request_list; 1608 struct list_head li_request_list;
1611 struct mutex li_list_mtx; 1609 struct mutex li_list_mtx;
1612}; 1610};
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 6a40ec1aabf6..d7756bd2dc12 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -2768,9 +2768,6 @@ static int ext4_lazyinit_thread(void *arg)
2768 2768
2769 BUG_ON(NULL == eli); 2769 BUG_ON(NULL == eli);
2770 2770
2771 eli->li_task = current;
2772 wake_up(&eli->li_wait_task);
2773
2774cont_thread: 2771cont_thread:
2775 while (true) { 2772 while (true) {
2776 next_wakeup = MAX_JIFFY_OFFSET; 2773 next_wakeup = MAX_JIFFY_OFFSET;
@@ -2833,9 +2830,6 @@ exit_thread:
2833 goto cont_thread; 2830 goto cont_thread;
2834 } 2831 }
2835 mutex_unlock(&eli->li_list_mtx); 2832 mutex_unlock(&eli->li_list_mtx);
2836 eli->li_task = NULL;
2837 wake_up(&eli->li_wait_task);
2838
2839 kfree(ext4_li_info); 2833 kfree(ext4_li_info);
2840 ext4_li_info = NULL; 2834 ext4_li_info = NULL;
2841 mutex_unlock(&ext4_li_mtx); 2835 mutex_unlock(&ext4_li_mtx);
@@ -2872,8 +2866,6 @@ static int ext4_run_lazyinit_thread(void)
2872 return err; 2866 return err;
2873 } 2867 }
2874 ext4_li_info->li_state |= EXT4_LAZYINIT_RUNNING; 2868 ext4_li_info->li_state |= EXT4_LAZYINIT_RUNNING;
2875
2876 wait_event(ext4_li_info->li_wait_task, ext4_li_info->li_task != NULL);
2877 return 0; 2869 return 0;
2878} 2870}
2879 2871
@@ -2908,11 +2900,9 @@ static int ext4_li_info_new(void)
2908 if (!eli) 2900 if (!eli)
2909 return -ENOMEM; 2901 return -ENOMEM;
2910 2902
2911 eli->li_task = NULL;
2912 INIT_LIST_HEAD(&eli->li_request_list); 2903 INIT_LIST_HEAD(&eli->li_request_list);
2913 mutex_init(&eli->li_list_mtx); 2904 mutex_init(&eli->li_list_mtx);
2914 2905
2915 init_waitqueue_head(&eli->li_wait_task);
2916 eli->li_state |= EXT4_LAZYINIT_QUIT; 2906 eli->li_state |= EXT4_LAZYINIT_QUIT;
2917 2907
2918 ext4_li_info = eli; 2908 ext4_li_info = eli;