a old issue of ext4 on lts 3.10

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dmitry&Theodore,

Someone said without the following patch on lts 3.10 kernel (which used
as android base kernel). the write maybe very very slow, needs 1 or 2
seconds to finish.

I quick looked this patch, seems it's no harm for a normal fs function.
but still don't know why it is helpful. So do you remember why you
commit this change at that time?

Thanks
Alex

ommit 7afe5aa59ed3da7b6161617e7f157c7c680dc41e
Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
Date:   Wed Aug 28 14:30:47 2013 -0400

    ext4: convert write_begin methods to stable_page_writes semantics

    Use wait_for_stable_page() instead of wait_on_page_writeback()

    Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx>
    Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>
    Reviewed-by: Jan Kara <jack@xxxxxxx>

diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index fc4051e..47c8e46 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -969,7 +969,8 @@ retry_journal:
                ext4_journal_stop(handle);
                goto retry_grab;
        }
-       wait_on_page_writeback(page);
+       /* In case writeback began while the page was unlocked */
+       wait_for_stable_page(page);

        if (ext4_should_dioread_nolock(inode))
                ret = __block_write_begin(page, pos, len,
ext4_get_block_write);
@@ -2678,7 +2679,7 @@ retry_journal:
                goto retry_grab;
        }
        /* In case writeback began while the page was unlocked */
-       wait_on_page_writeback(page);
+       wait_for_stable_page(page);

        ret = __block_write_begin(page, pos, len, ext4_da_get_block_prep);
        if (ret < 0) {
~

-- 
Thanks
    Alex
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]