Add link count to stat in FS
This commit is contained in:
@@ -103,6 +103,7 @@ class FileStore {
|
|||||||
|
|
||||||
struct StatInfo {
|
struct StatInfo {
|
||||||
InodeId_t inodeId;
|
InodeId_t inodeId;
|
||||||
|
InodeId_t links;
|
||||||
typename Header::FsSize_t size;
|
typename Header::FsSize_t size;
|
||||||
uint8_t fileType;
|
uint8_t fileType;
|
||||||
};
|
};
|
||||||
@@ -719,6 +720,7 @@ typename FileStore<Header>::StatInfo FileStore<Header>::stat(InodeId_t id) {
|
|||||||
if (inode) {
|
if (inode) {
|
||||||
stat.size = inode->getDataLen();
|
stat.size = inode->getDataLen();
|
||||||
stat.fileType = inode->getFileType();
|
stat.fileType = inode->getFileType();
|
||||||
|
stat.links = inode->getLinks();
|
||||||
stat.inodeId = id;
|
stat.inodeId = id;
|
||||||
} else {
|
} else {
|
||||||
stat.inodeId = 0;
|
stat.inodeId = 0;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ enum FileType {
|
|||||||
|
|
||||||
struct FileStat {
|
struct FileStat {
|
||||||
uint64_t inode;
|
uint64_t inode;
|
||||||
|
uint64_t links;
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
uint8_t fileType;
|
uint8_t fileType;
|
||||||
};
|
};
|
||||||
@@ -422,6 +423,7 @@ FileStat FileSystemTemplate<FileStore, FS_TYPE>::stat(uint64_t inode) {
|
|||||||
auto s = m_store->stat(inode);
|
auto s = m_store->stat(inode);
|
||||||
stat.size = s.size;
|
stat.size = s.size;
|
||||||
stat.inode = s.inodeId;
|
stat.inode = s.inodeId;
|
||||||
|
stat.links = s.links;
|
||||||
stat.fileType = s.fileType;
|
stat.fileType = s.fileType;
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user