Patch "ocfs2: update inode fsync transaction id in ocfs2_unlink and ocfs2_link" has been added to the 6.6-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    ocfs2: update inode fsync transaction id in ocfs2_unlink and ocfs2_link

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ocfs2-update-inode-fsync-transaction-id-in-ocfs2_unl.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit cdbf6cb63b590cb2bd66935e386ca0b0e88b31f8
Author: Su Yue <glass.su@xxxxxxxx>
Date:   Mon Apr 8 16:20:40 2024 +0800

    ocfs2: update inode fsync transaction id in ocfs2_unlink and ocfs2_link
    
    [ Upstream commit 8c40984eeb8804cffcd28640f427f4fe829243fc ]
    
    transaction id should be updated in ocfs2_unlink and ocfs2_link.
    Otherwise, inode link will be wrong after journal replay even fsync was
    called before power failure:
    =======================================================================
    $ touch testdir/bar
    $ ln testdir/bar testdir/bar_link
    $ fsync testdir/bar
    $ stat -c %h $SCRATCH_MNT/testdir/bar
    1
    $ stat -c %h $SCRATCH_MNT/testdir/bar
    1
    =======================================================================
    
    Link: https://lkml.kernel.org/r/20240408082041.20925-4-glass.su@xxxxxxxx
    Fixes: ccd979bdbce9 ("[PATCH] OCFS2: The Second Oracle Cluster Filesystem")
    Signed-off-by: Su Yue <glass.su@xxxxxxxx>
    Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx>
    Cc: Changwei Ge <gechangwei@xxxxxxx>
    Cc: Gang He <ghe@xxxxxxxx>
    Cc: Joel Becker <jlbec@xxxxxxxxxxxx>
    Cc: Jun Piao <piaojun@xxxxxxxxxx>
    Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
    Cc: Mark Fasheh <mark@xxxxxxxxxx>
    Cc: <stable@xxxxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
index 791fc5050e46b..21b3d5b9be603 100644
--- a/fs/ocfs2/namei.c
+++ b/fs/ocfs2/namei.c
@@ -797,6 +797,7 @@ static int ocfs2_link(struct dentry *old_dentry,
 	ocfs2_set_links_count(fe, inode->i_nlink);
 	fe->i_ctime = cpu_to_le64(inode_get_ctime_sec(inode));
 	fe->i_ctime_nsec = cpu_to_le32(inode_get_ctime_nsec(inode));
+	ocfs2_update_inode_fsync_trans(handle, inode, 0);
 	ocfs2_journal_dirty(handle, fe_bh);
 
 	err = ocfs2_add_entry(handle, dentry, inode,
@@ -993,6 +994,7 @@ static int ocfs2_unlink(struct inode *dir,
 		drop_nlink(inode);
 	drop_nlink(inode);
 	ocfs2_set_links_count(fe, inode->i_nlink);
+	ocfs2_update_inode_fsync_trans(handle, inode, 0);
 	ocfs2_journal_dirty(handle, fe_bh);
 
 	inode_set_mtime_to_ts(dir, inode_set_ctime_current(dir));




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux