summaryrefslogtreecommitdiff
path: root/ayafs-core/src/disk/inode.rs
diff options
context:
space:
mode:
authorChuyan Zhang <me@zcy.moe>2023-12-01 19:42:13 -0800
committerChuyan Zhang <me@zcy.moe>2023-12-01 19:42:13 -0800
commit4c34414b26bf71e747ea3ecb2586645bab4aba52 (patch)
treeb569935a94c7fb3e0a23a19207f6545b4d7719c3 /ayafs-core/src/disk/inode.rs
parentfd125947c9db0b33761414e65e919f73d9bf1815 (diff)
downloadmyfs-4c34414b26bf71e747ea3ecb2586645bab4aba52.tar.gz
myfs-4c34414b26bf71e747ea3ecb2586645bab4aba52.zip
Multiple bugfix, it works!
Diffstat (limited to 'ayafs-core/src/disk/inode.rs')
-rw-r--r--ayafs-core/src/disk/inode.rs17
1 files changed, 3 insertions, 14 deletions
diff --git a/ayafs-core/src/disk/inode.rs b/ayafs-core/src/disk/inode.rs
index d94b795..eccebd4 100644
--- a/ayafs-core/src/disk/inode.rs
+++ b/ayafs-core/src/disk/inode.rs
@@ -3,7 +3,8 @@ use crate::utils;
use bitflags::bitflags;
use fuser::FileType;
-pub const DIRECT_NUMBER: usize = 15;
+pub(crate) const DIRECT_NUMBER: usize = 15;
+pub(crate) const INODE_PER_BLOCK: usize = BLOCK_SIZE / INODE_SIZE;
#[derive(Debug, Clone, Copy)]
pub struct InodeMode(pub u16);
@@ -128,7 +129,7 @@ impl From<InodeMode> for u8 {
pub struct Inode {
pub mode: InodeMode,
pub uid: u32,
- pub size: u32,
+ pub size: u64,
pub atime: u32, // access time, in seconds
pub ctime: u32, // change time, in seconds
pub mtime: u32, // modify time, in seconds
@@ -141,7 +142,6 @@ pub struct Inode {
pub single_indirect: u32,
pub double_indirect: u32,
pub triple_indirect: u32,
- pub generation: u32,
pub file_acl: u32,
pub dir_acl: u32, // TODO do we have to implement ACL......?
}
@@ -153,7 +153,6 @@ impl Inode {
gid: u32,
time: u32,
flags: u32,
- generation: u32,
file_acl: u32,
dir_acl: u32,
) -> Self {
@@ -173,7 +172,6 @@ impl Inode {
single_indirect: 0,
double_indirect: 0,
triple_indirect: 0,
- generation,
file_acl,
dir_acl,
}
@@ -187,7 +185,6 @@ impl Inode {
gid: u32,
time: u32,
flags: u32,
- generation: u32,
file_acl: u32,
dir_acl: u32,
) -> Self {
@@ -197,7 +194,6 @@ impl Inode {
gid,
time,
flags,
- generation,
file_acl,
dir_acl,
)
@@ -209,7 +205,6 @@ impl Inode {
gid: u32,
time: u32,
flags: u32,
- generation: u32,
file_acl: u32,
dir_acl: u32,
) -> Self {
@@ -219,7 +214,6 @@ impl Inode {
gid,
time,
flags,
- generation,
file_acl,
dir_acl,
)
@@ -231,7 +225,6 @@ impl Inode {
gid: u32,
time: u32,
flags: u32,
- generation: u32,
file_acl: u32,
dir_acl: u32,
) -> Self {
@@ -241,7 +234,6 @@ impl Inode {
gid,
time,
flags,
- generation,
file_acl,
dir_acl,
)
@@ -253,7 +245,6 @@ impl Inode {
gid: u32,
time: u32,
flags: u32,
- generation: u32,
file_acl: u32,
dir_acl: u32,
) -> Self {
@@ -263,7 +254,6 @@ impl Inode {
gid,
time,
flags,
- generation,
file_acl,
dir_acl,
)
@@ -302,7 +292,6 @@ impl Inode {
single_indirect: 0,
double_indirect: 0,
triple_indirect: 0,
- generation: 0,
file_acl: 0,
dir_acl: 0,
}