From 15bf8c4f93020663b443b817a0192498bd9cd3f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Sun, 9 Oct 2016 20:15:26 +0200 Subject: ext4: cleanup unlink_filename function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use the same variable names as in search_dir, to make purpose of variables more obvious. Signed-off-by: Stefan BrĂ¼ns Reviewed-by: Tom Rini --- fs/ext4/ext4_common.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'fs') diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c index e78185b..699a640 100644 --- a/fs/ext4/ext4_common.c +++ b/fs/ext4/ext4_common.c @@ -854,34 +854,35 @@ fail: static int unlink_filename(char *filename, unsigned int blknr) { - int totalbytes = 0; int templength = 0; int status, inodeno; int found = 0; - char *root_first_block_buffer = NULL; + int offset; + char *block_buffer = NULL; struct ext2_dirent *dir = NULL; struct ext2_dirent *previous_dir = NULL; char *ptr = NULL; struct ext_filesystem *fs = get_fs(); int ret = -1; - /* get the first block of root */ - root_first_block_buffer = zalloc(fs->blksz); - if (!root_first_block_buffer) + block_buffer = zalloc(fs->blksz); + if (!block_buffer) return -ENOMEM; + + /* read the directory block */ status = ext4fs_devread((lbaint_t)blknr * fs->sect_perblk, 0, - fs->blksz, root_first_block_buffer); + fs->blksz, block_buffer); if (status == 0) goto fail; - if (ext4fs_log_journal(root_first_block_buffer, blknr)) + if (ext4fs_log_journal(block_buffer, blknr)) goto fail; - dir = (struct ext2_dirent *)root_first_block_buffer; + dir = (struct ext2_dirent *)block_buffer; ptr = (char *)dir; - totalbytes = 0; + offset = 0; while (le16_to_cpu(dir->direntlen) >= 0) { /* - * blocksize-totalbytes because last + * blocksize-offset because last * directory length i.e., *dir->direntlen * is free availble space in the block that * means it is a last entry of directory entry @@ -903,12 +904,12 @@ static int unlink_filename(char *filename, unsigned int blknr) break; } - if (fs->blksz - totalbytes == le16_to_cpu(dir->direntlen)) + if (fs->blksz - offset == le16_to_cpu(dir->direntlen)) break; /* traversing the each directory entry */ templength = le16_to_cpu(dir->direntlen); - totalbytes = totalbytes + templength; + offset = offset + templength; previous_dir = dir; dir = (struct ext2_dirent *)((char *)dir + templength); ptr = (char *)dir; @@ -916,12 +917,12 @@ static int unlink_filename(char *filename, unsigned int blknr) if (found == 1) { - if (ext4fs_put_metadata(root_first_block_buffer, blknr)) + if (ext4fs_put_metadata(block_buffer, blknr)) goto fail; ret = inodeno; } fail: - free(root_first_block_buffer); + free(block_buffer); return ret; } -- cgit v1.1