diff options
author | Tao Ma <tao.ma@oracle.com> | 2010-04-21 08:05:55 +0200 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2010-04-23 23:43:22 +0200 |
commit | c21a534e2f24968cf74976a4e721ac194db30ded (patch) | |
tree | ed095a19d91fa586912366aeb4c91852f131fa97 | |
parent | ocfs2: potential ERR_PTR dereference on error paths (diff) | |
download | linux-c21a534e2f24968cf74976a4e721ac194db30ded.tar.xz linux-c21a534e2f24968cf74976a4e721ac194db30ded.zip |
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.c | 3 |
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, di->i_attr = s_di->i_attr; if (preserve) { + t_inode->i_uid = s_inode->i_uid; + t_inode->i_gid = s_inode->i_gid; + t_inode->i_mode = s_inode->i_mode; di->i_uid = s_di->i_uid; di->i_gid = s_di->i_gid; di->i_mode = s_di->i_mode; |