From 5db3e72c57d3b87cb0ac0fc204156ce0c56e8411 Mon Sep 17 00:00:00 2001 From: Tadeusz Struk Date: Wed, 23 Feb 2022 10:47:36 -0800 Subject: [PATCH] Revert "ANDROID: incremental-fs: remove index and incomplete dir on umount" This reverts commit 6f915dd2af92ade13d280d83fcce327161b9573c. This is follow up cleanup after revert of: "Revert "ANDROID: incremental-fs: fix mount_fs issue" Bug: 220805927 Signed-off-by: Tadeusz Struk Change-Id: I2ff42145dd586ae6ae4c76c3136e1fad14c08952 --- fs/incfs/data_mgmt.c | 1 + fs/incfs/vfs.c | 9 ++------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/fs/incfs/data_mgmt.c b/fs/incfs/data_mgmt.c index fbab68a280d5..a383c5b5ad7f 100644 --- a/fs/incfs/data_mgmt.c +++ b/fs/incfs/data_mgmt.c @@ -175,6 +175,7 @@ void incfs_free_mount_info(struct mount_info *mi) kfree(mi->pseudo_file_xattr[i].data); kfree(mi->mi_per_uid_read_timeouts); incfs_free_sysfs_node(mi->mi_sysfs_node); + kfree(mi->mi_options.sysfs_name); kfree(mi); } diff --git a/fs/incfs/vfs.c b/fs/incfs/vfs.c index 8d21f6decaee..ea7866fbfd6e 100644 --- a/fs/incfs/vfs.c +++ b/fs/incfs/vfs.c @@ -1834,11 +1834,10 @@ struct dentry *incfs_mount_fs(struct file_system_type *type, int flags, if (error) goto err; - mi->mi_backing_dir_path = backing_dir_path; + path_put(&backing_dir_path); sb->s_flags |= SB_ACTIVE; pr_debug("incfs: mount\n"); - free_options(&options); return dget(sb->s_root); err: sb->s_fs_info = NULL; @@ -1880,13 +1879,9 @@ static int incfs_remount_fs(struct super_block *sb, int *flags, char *data) void incfs_kill_sb(struct super_block *sb) { struct mount_info *mi = sb->s_fs_info; - struct inode *dinode = d_inode(mi->mi_backing_dir_path.dentry); pr_debug("incfs: unmount\n"); - vfs_rmdir(dinode, mi->mi_index_dir); - vfs_rmdir(dinode, mi->mi_incomplete_dir); - - kill_anon_super(sb); + generic_shutdown_super(sb); incfs_free_mount_info(mi); }