Revert "ANDROID: Incremental fs: Fix minor bugs"

This reverts commit ed146f65cc.

Set incfs back to rvc shipping incfs

Bug: 178509184
Test: incfs_test passes
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: I9e2d0ca4f65c4dfaee043cd55491ba3c1a61666b
This commit is contained in:
Paul Lawrence
2021-01-26 13:31:17 -08:00
parent 3ef1500b9b
commit 8d04cc8cc0
2 changed files with 7 additions and 45 deletions

View File

@@ -933,7 +933,7 @@ ssize_t incfs_read_data_file_block(struct mem_range dst, struct file *f,
struct data_file_block block = {};
struct data_file *df = get_incfs_data_file(f);
if (!dst.data || !df || !tmp.data)
if (!dst.data || !df)
return -EFAULT;
if (tmp.len < 2 * INCFS_DATA_FILE_BLOCK_SIZE)

View File

@@ -470,9 +470,6 @@ static ssize_t pending_reads_read(struct file *f, char __user *buf, size_t len,
ssize_t result = 0;
int i = 0;
if (!mi)
return -EFAULT;
if (!incfs_fresh_pending_reads_exist(mi, last_known_read_sn))
return 0;
@@ -801,17 +798,13 @@ static int read_single_page(struct file *f, struct page *page)
ssize_t read_result = 0;
struct data_file *df = get_incfs_data_file(f);
int result = 0;
void *page_start;
void *page_start = kmap(page);
int block_index;
int timeout_ms;
if (!df) {
SetPageError(page);
unlock_page(page);
if (!df)
return -EBADF;
}
page_start = kmap(page);
offset = page_offset(page);
block_index = offset / INCFS_DATA_FILE_BLOCK_SIZE;
size = df->df_size;
@@ -823,10 +816,6 @@ static int read_single_page(struct file *f, struct page *page)
};
tmp.data = (u8 *)__get_free_pages(GFP_NOFS, get_order(tmp.len));
if (!tmp.data) {
read_result = -ENOMEM;
goto err;
}
bytes_to_read = min_t(loff_t, size - offset, PAGE_SIZE);
read_result = incfs_read_data_file_block(
range(page_start, bytes_to_read), f, block_index,
@@ -838,7 +827,6 @@ static int read_single_page(struct file *f, struct page *page)
read_result = 0;
}
err:
if (read_result < 0)
result = read_result;
else if (read_result < PAGE_SIZE)
@@ -1518,9 +1506,6 @@ static struct dentry *dir_lookup(struct inode *dir_inode, struct dentry *dentry,
range((u8 *)dentry->d_name.name, dentry->d_name.len);
int err = 0;
if (!mi || !dir_info || !dir_info->n_backing_inode)
return ERR_PTR(-EBADF);
if (d_inode(mi->mi_backing_dir_path.dentry) ==
dir_info->n_backing_inode) {
/* We do lookup in the FS root. Show pseudo files. */
@@ -1636,7 +1621,7 @@ static int dir_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
if (!backing_dentry) {
err = -EBADF;
goto path_err;
goto out;
}
if (backing_dentry->d_parent == mi->mi_index_dir) {
@@ -1668,8 +1653,6 @@ out:
if (d_really_is_negative(dentry))
d_drop(dentry);
path_put(&backing_path);
path_err:
mutex_unlock(&mi->mi_dir_struct_mutex);
if (err)
pr_debug("incfs: %s err:%d\n", __func__, err);
@@ -1725,9 +1708,6 @@ static int dir_unlink(struct inode *dir, struct dentry *dentry)
struct kstat stat;
int err = 0;
if (!mi)
return -EBADF;
err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
if (err)
return err;
@@ -1735,7 +1715,7 @@ static int dir_unlink(struct inode *dir, struct dentry *dentry)
get_incfs_backing_path(dentry, &backing_path);
if (!backing_path.dentry) {
err = -EBADF;
goto path_err;
goto out;
}
if (backing_path.dentry->d_parent == mi->mi_index_dir) {
@@ -1763,7 +1743,6 @@ static int dir_unlink(struct inode *dir, struct dentry *dentry)
d_drop(dentry);
out:
path_put(&backing_path);
path_err:
if (err)
pr_debug("incfs: %s err:%d\n", __func__, err);
mutex_unlock(&mi->mi_dir_struct_mutex);
@@ -1778,9 +1757,6 @@ static int dir_link(struct dentry *old_dentry, struct inode *dir,
struct path backing_new_path = {};
int error = 0;
if (!mi)
return -EBADF;
error = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
if (error)
return error;
@@ -1827,9 +1803,6 @@ static int dir_rmdir(struct inode *dir, struct dentry *dentry)
struct path backing_path = {};
int err = 0;
if (!mi)
return -EBADF;
err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex);
if (err)
return err;
@@ -1837,7 +1810,7 @@ static int dir_rmdir(struct inode *dir, struct dentry *dentry)
get_incfs_backing_path(dentry, &backing_path);
if (!backing_path.dentry) {
err = -EBADF;
goto path_err;
goto out;
}
if (backing_path.dentry == mi->mi_index_dir) {
@@ -1851,8 +1824,6 @@ static int dir_rmdir(struct inode *dir, struct dentry *dentry)
d_drop(dentry);
out:
path_put(&backing_path);
path_err:
if (err)
pr_debug("incfs: %s err:%d\n", __func__, err);
mutex_unlock(&mi->mi_dir_struct_mutex);
@@ -1936,14 +1907,7 @@ static int file_open(struct inode *inode, struct file *file)
struct path backing_path = {};
int err = 0;
if (!mi)
return -EBADF;
get_incfs_backing_path(file->f_path.dentry, &backing_path);
if (!backing_path.dentry)
return -EBADF;
backing_file = dentry_open(
&backing_path, O_RDWR | O_NOATIME | O_LARGEFILE, mi->mi_owner);
path_put(&backing_path);
@@ -2005,10 +1969,8 @@ static int dentry_revalidate(struct dentry *d, unsigned int flags)
get_incfs_backing_path(d, &backing_path);
backing_dentry = backing_path.dentry;
if (!backing_dentry) {
result = -EBADF;
if (!backing_dentry)
goto out;
}
if (d_inode(backing_dentry) != binode) {
/*