ext4: improve some code in rb tree part of dir.c
PATCH 1/1 ext4: improve some code in rb tree part of dir.c
*remove unnecessary code in free_rb_tree_fname *rename free_rb_tree_fname to ext4_htree_create_dir_info
since it and ext4_htree_free_dir_info are a pair
*replace kmalloc with kzalloc in ext4_htree_free_dir_info
All these make the code more readable and simple.
PS: this patch is also suitable for ext3.
Signed-off-by Shen Feng <[email protected]>
--- fs/ext4/dir.c | 14 ++++---------- 1 files changed, 4 insertions(+), 10 deletions(-)
fs/ext4/dir.c +4 -10
@@ -272,7 +272,7 @@ static void free_rb_tree_fname(struct rb_root *root)while (n) {/* Do the node's children first */ -if ((n)->rb_left) { +if (n->rb_left) { n = n->rb_left;continue ; }
@@ -301,24 +301,18 @@ static void free_rb_tree_fname(struct rb_root *root) parent->rb_right =NULL ; n = parent; } - root->rb_node =NULL ; } -static struct dir_private_info *create_dir_info (loff_t pos) +static struct dir_private_info *ext4_htree_create_dir_info (loff_t pos) {struct dir_private_info *p; - p =kmalloc (sizeof (struct dir_private_info ),GFP_KERNEL ); + p =kzalloc (sizeof (struct dir_private_info ),GFP_KERNEL );if (!p)return NULL ; - p->root.rb_node =NULL ; - p->curr_node =NULL ; - p->extra_fname =NULL ; - p->last_pos =0 ; p->curr_hash =pos2maj_hash (pos); p->curr_minor_hash =pos2min_hash (pos); - p->next_hash =0 ;return p; }
@@ -433,7 +427,7 @@ static int ext4_dx_readdir(struct file * filp,int ret;if (!info) { - info =create_dir_info (filp->f_pos); + info =ext4_htree_create_dir_info (filp->f_pos);if (!info)return -ENOMEM ; filp->private_data = info;
Signature · 1 line
1.5.4.5
Quoted 8 lines · Shen Feng
*remove unnecessary code in
free_rb_tree_fname*renamefree_rb_tree_fnametoext4_htree_create_dir_info
since it andext4_htree_free_dir_infoare a pair
*replace kmalloc with kzalloc inext4_htree_free_dir_infoAll these make the code more readable and simple.
PS: this patch is also suitable for ext3.
Reviewed-by Mingming Cao <[email protected]>
Quoted 54 lines
Signed-off-by Shen Feng <[email protected]>--- fs/ext4/dir.c | 14 ++++---------- 1 files changed, 4 insertions(+), 10 deletions(-)fs/ext4/dir.c +4
-10@@ -272,7 +272,7 @@ static void free_rb_tree_fname(struct rb_root *root)while (n) {/* Do the node's children first */ -if ((n)->rb_left) { +if (n->rb_left) { n = n->rb_left;continue ; }@@ -301,24 +301,18 @@ static void free_rb_tree_fname(struct rb_root *root) parent->rb_right =NULL ; n = parent; } - root->rb_node =NULL ; } -static struct dir_private_info *create_dir_info (loff_t pos) +static struct dir_private_info *ext4_htree_create_dir_info (loff_t pos) {struct dir_private_info *p; - p =kmalloc (sizeof (struct dir_private_info ),GFP_KERNEL ); + p =kzalloc (sizeof (struct dir_private_info ),GFP_KERNEL );if (!p)return NULL ; - p->root.rb_node =NULL ; - p->curr_node =NULL ; - p->extra_fname =NULL ; - p->last_pos =0 ; p->curr_hash =pos2maj_hash (pos); p->curr_minor_hash =pos2min_hash (pos); - p->next_hash =0 ;return p; }@@ -433,7 +427,7 @@ static int ext4_dx_readdir(struct file * filp,int ret;if (!info) { - info =create_dir_info (filp->f_pos); + info =ext4_htree_create_dir_info (filp->f_pos);if (!info)return -ENOMEM ; filp->private_data = info;