lkml.org 
[lkml]   [2009]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[47/90] ext4: Make sure ext4_dirty_inode() updates the inode in no journal mode
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------
    (cherry picked from commit f3dc272fd5e2ae08244796bb39e7e1ce4b25d3b3)

    This patch a problem that ext4_dirty_inode() was not calling
    ext4_mark_inode_dirty() if the current_handle is not valid, which it
    is the case in no journal mode.

    It also removes a test for non-matching transaction which can never
    happen.

    Signed-off-by: Curt Wohlgemuth <curtw@google.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    fs/ext4/inode.c | 19 ++++---------------
    1 file changed, 4 insertions(+), 15 deletions(-)

    --- a/fs/ext4/inode.c
    +++ b/fs/ext4/inode.c
    @@ -5605,24 +5605,13 @@ void ext4_dirty_inode(struct inode *inod
    handle_t *current_handle = ext4_journal_current_handle();
    handle_t *handle;

    - if (!ext4_handle_valid(current_handle)) {
    - ext4_mark_inode_dirty(current_handle, inode);
    - return;
    - }
    -
    handle = ext4_journal_start(inode, 2);
    if (IS_ERR(handle))
    goto out;
    - if (current_handle &&
    - current_handle->h_transaction != handle->h_transaction) {
    - /* This task has a transaction open against a different fs */
    - printk(KERN_EMERG "%s: transactions do not match!\n",
    - __func__);
    - } else {
    - jbd_debug(5, "marking dirty. outer handle=%p\n",
    - current_handle);
    - ext4_mark_inode_dirty(handle, inode);
    - }
    +
    + jbd_debug(5, "marking dirty. outer handle=%p\n", current_handle);
    + ext4_mark_inode_dirty(handle, inode);
    +
    ext4_journal_stop(handle);
    out:
    return;



    \
     
     \ /
      Last update: 2009-12-11 05:53    [W:0.025 / U:0.052 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site