| From c21a534e2f24968cf74976a4e721ac194db30ded Mon Sep 17 00:00:00 2001 |
| From: Tao Ma <tao.ma@oracle.com> |
| Date: Wed, 21 Apr 2010 14:05:55 +0800 |
| Subject: ocfs2: Update VFS inode's id info after reflink. |
| |
| From: Tao Ma <tao.ma@oracle.com> |
| |
| commit c21a534e2f24968cf74976a4e721ac194db30ded upstream. |
| |
| 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> |
| Signed-off-by: Joel Becker <joel.becker@oracle.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| fs/ocfs2/refcounttree.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/fs/ocfs2/refcounttree.c |
| +++ b/fs/ocfs2/refcounttree.c |
| @@ -4083,6 +4083,9 @@ static int ocfs2_complete_reflink(struct |
| 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; |