aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTao Ma <tao.ma@oracle.com>2010-04-21 02:05:55 -0400
committerJoel Becker <joel.becker@oracle.com>2010-04-23 17:43:22 -0400
commitc21a534e2f24968cf74976a4e721ac194db30ded (patch)
treeed095a19d91fa586912366aeb4c91852f131fa97
parent0350cb078f5035716ebdad4ad4709d02fe466a8a (diff)
ocfs2: Update VFS inode's id info after reflink.
In reflink we update the id info on the disk but forgot to update the corresponding information in the VFS inode. Update them accordingly when we want to preserve the attributes. Reported-by: Jeff Liu <jeff.liu@oracle.com> Signed-off-by: Tao Ma <tao.ma@oracle.com> Cc: <stable@kernel.org> Signed-off-by: Joel Becker <joel.becker@oracle.com>
-rw-r--r--fs/ocfs2/refcounttree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c
index 29405f2ff616..32a8ac589c87 100644
--- a/fs/ocfs2/refcounttree.c
+++ b/fs/ocfs2/refcounttree.c
@@ -4084,6 +4084,9 @@ static int ocfs2_complete_reflink(struct inode *s_inode,
4084 di->i_attr = s_di->i_attr; 4084 di->i_attr = s_di->i_attr;
4085 4085
4086 if (preserve) { 4086 if (preserve) {
4087 t_inode->i_uid = s_inode->i_uid;
4088 t_inode->i_gid = s_inode->i_gid;
4089 t_inode->i_mode = s_inode->i_mode;
4087 di->i_uid = s_di->i_uid; 4090 di->i_uid = s_di->i_uid;
4088 di->i_gid = s_di->i_gid; 4091 di->i_gid = s_di->i_gid;
4089 di->i_mode = s_di->i_mode; 4092 di->i_mode = s_di->i_mode;