fs/littlefs: Add attr to dir

N/A

Signed-off-by: zhouliang3 <zhouliang3@xiaomi.com>
Change-Id: Ibe2bf53f4eb37e67bd982d6523a1b686a52b77ad
This commit is contained in:
zhouliang3
2021-09-02 12:41:08 +08:00
parent c1cd83cf9e
commit 601467a05b
+19
View File
@@ -1356,6 +1356,24 @@ static int littlefs_mkdir(FAR struct inode *mountpt, FAR const char *relpath,
}
ret = lfs_mkdir(&fs->lfs, relpath);
if (ret >= 0)
{
struct littlefs_attr_s attr;
struct timespec time;
clock_gettime(CLOCK_REALTIME, &time);
memset(&attr, 0, sizeof(attr));
attr.at_mode = mode;
attr.at_ctim = 1000000000ull * time.tv_sec + time.tv_nsec;
attr.at_atim = attr.at_ctim;
attr.at_mtim = attr.at_ctim;
ret = lfs_setattr(&fs->lfs, relpath, 0, &attr, sizeof(attr));
if (ret < 0)
{
lfs_remove(&fs->lfs, relpath);
}
}
littlefs_semgive(fs);
return ret;
@@ -1450,6 +1468,7 @@ static int littlefs_stat(FAR struct inode *mountpt, FAR const char *relpath,
ret = 0;
memset(&attr, 0, sizeof(attr));
attr.at_mode = S_IRWXG | S_IRWXU | S_IRWXO;
}
buf->st_mode = attr.at_mode;