ext4: Remove unnecessary wait_event ext4_run_lazyinit_thread()
authorLukas Czerner <lczerner@redhat.com>
Fri, 20 May 2011 17:49:51 +0000 (13:49 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 20 May 2011 17:49:51 +0000 (13:49 -0400)
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>
fs/ext4/ext4.h
fs/ext4/super.c

index 579dfeda614c61bd1456b41f84f54769d6f46228..6ce3c7c8574c3f03bad3149eafba46303d43d260 100644 (file)
@@ -1605,8 +1605,6 @@ void ext4_get_group_no_and_offset(struct super_block *sb, ext4_fsblk_t blocknr,
  */
 struct ext4_lazy_init {
        unsigned long           li_state;
-       wait_queue_head_t       li_wait_task;
-       struct task_struct      *li_task;
        struct list_head        li_request_list;
        struct mutex            li_list_mtx;
 };
index 6a40ec1aabf6090803b1e28410f8397fcce45936..d7756bd2dc128af02e0b0a5a26c9ca114cc3618f 100644 (file)
@@ -2768,9 +2768,6 @@ static int ext4_lazyinit_thread(void *arg)
 
        BUG_ON(NULL == eli);
 
-       eli->li_task = current;
-       wake_up(&eli->li_wait_task);
-
 cont_thread:
        while (true) {
                next_wakeup = MAX_JIFFY_OFFSET;
@@ -2833,9 +2830,6 @@ exit_thread:
                goto cont_thread;
        }
        mutex_unlock(&eli->li_list_mtx);
-       eli->li_task = NULL;
-       wake_up(&eli->li_wait_task);
-
        kfree(ext4_li_info);
        ext4_li_info = NULL;
        mutex_unlock(&ext4_li_mtx);
@@ -2872,8 +2866,6 @@ static int ext4_run_lazyinit_thread(void)
                return err;
        }
        ext4_li_info->li_state |= EXT4_LAZYINIT_RUNNING;
-
-       wait_event(ext4_li_info->li_wait_task, ext4_li_info->li_task != NULL);
        return 0;
 }
 
@@ -2908,11 +2900,9 @@ static int ext4_li_info_new(void)
        if (!eli)
                return -ENOMEM;
 
-       eli->li_task = NULL;
        INIT_LIST_HEAD(&eli->li_request_list);
        mutex_init(&eli->li_list_mtx);
 
-       init_waitqueue_head(&eli->li_wait_task);
        eli->li_state |= EXT4_LAZYINIT_QUIT;
 
        ext4_li_info = eli;