From 3b8b508ee67d70ab087b7c0d9955c52de172424b Mon Sep 17 00:00:00 2001 From: ChenXiaoSong Date: Sat, 1 Jul 2023 09:04:23 +0000 Subject: [PATCH] hmdfs: fix attribute error when mkdir in cloud_merge_view/merge_view Since dentry and lower dentry are not linked yet in fill_inode_merge(), inode attribute will not update. Fix this by updating attribute after dentry and lower dentry are linked. Signed-off-by: ChenXiaoSong --- fs/hmdfs/inode_cloud_merge.c | 2 ++ fs/hmdfs/inode_merge.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/fs/hmdfs/inode_cloud_merge.c b/fs/hmdfs/inode_cloud_merge.c index c141727483fa..3f1919ef928d 100644 --- a/fs/hmdfs/inode_cloud_merge.c +++ b/fs/hmdfs/inode_cloud_merge.c @@ -449,6 +449,8 @@ int hmdfs_create_lower_cloud_dentry(struct inode *i_parent, struct dentry *d_chi link_comrade_unlocked(d_child, new_comrade); } + update_inode_attr(d_inode(d_child), d_child); + out_put: done_path_create(&path, lo_d_child); out: diff --git a/fs/hmdfs/inode_merge.c b/fs/hmdfs/inode_merge.c index 5b4b9c288ca7..c8ea373de198 100644 --- a/fs/hmdfs/inode_merge.c +++ b/fs/hmdfs/inode_merge.c @@ -976,6 +976,8 @@ int hmdfs_create_lower_dentry(struct inode *i_parent, struct dentry *d_child, link_comrade_unlocked(d_child, new_comrade); } + update_inode_attr(d_inode(d_child), d_child); + out_put: done_path_create(&path, lo_d_child); out: -- Gitee