Set dir->i_nlink to 2 as "." and ".." are allocated.

tarerofs_init_empty_dir() is removed then.

Signed-off-by: Jingbo Xu <[email protected]>
---
 lib/inode.c |  2 ++
 lib/tar.c   | 14 ++------------
 mkfs/main.c |  2 +-
 3 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/lib/inode.c b/lib/inode.c
index c4d1476..d54f84f 100644
--- a/lib/inode.c
+++ b/lib/inode.c
@@ -235,6 +235,8 @@ int erofs_init_empty_dir(struct erofs_inode *dir)
                return PTR_ERR(d);
        d->inode = erofs_igrab(dir->i_parent);
        d->type = EROFS_FT_DIR;
+
+       dir->i_nlink = 2;
        return 0;
 }
 
diff --git a/lib/tar.c b/lib/tar.c
index 76ba69d..3c145e5 100644
--- a/lib/tar.c
+++ b/lib/tar.c
@@ -138,16 +138,6 @@ static long long tarerofs_parsenum(const char *ptr, int 
len)
        return tarerofs_otoi(ptr, len);
 }
 
-int tarerofs_init_empty_dir(struct erofs_inode *inode)
-{
-       int ret = erofs_init_empty_dir(inode);
-
-       if (ret)
-               return ret;
-       inode->i_nlink = 2;
-       return 0;
-}
-
 static struct erofs_dentry *tarerofs_mkdir(struct erofs_inode *dir, const char 
*s)
 {
        struct erofs_inode *inode;
@@ -163,7 +153,7 @@ static struct erofs_dentry *tarerofs_mkdir(struct 
erofs_inode *dir, const char *
        inode->i_gid = getgid();
        inode->i_mtime = inode->sbi->build_time;
        inode->i_mtime_nsec = inode->sbi->build_time_nsec;
-       tarerofs_init_empty_dir(inode);
+       erofs_init_empty_dir(inode);
 
        d = erofs_d_alloc(dir, s);
        if (!IS_ERR(d)) {
@@ -759,7 +749,7 @@ new_inode:
                inode->i_nlink++;
                ret = 0;
        } else if (!inode->i_nlink)
-               ret = tarerofs_init_empty_dir(inode);
+               ret = erofs_init_empty_dir(inode);
        else
                ret = 0;
 out:
diff --git a/mkfs/main.c b/mkfs/main.c
index 92a07fd..bc5ed87 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -928,7 +928,7 @@ int main(int argc, char **argv)
                root_inode->i_parent = root_inode;
                root_inode->i_mtime = sbi.build_time;
                root_inode->i_mtime_nsec = sbi.build_time_nsec;
-               tarerofs_init_empty_dir(root_inode);
+               erofs_init_empty_dir(root_inode);
 
                while (!(err = tarerofs_parse_tar(root_inode, &erofstar)));
 
-- 
2.19.1.6.gb485710b

Reply via email to