pxar: fuse: include nsec information in stat
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
This commit is contained in:
parent
649c5ee7b1
commit
20feec9fac
@ -525,7 +525,9 @@ fn stat(inode: u64, entry: &PxarEntry, payload_size: u64) -> Result<libc::stat,
|
|||||||
libc::S_IFDIR => 2,
|
libc::S_IFDIR => 2,
|
||||||
_ => 1,
|
_ => 1,
|
||||||
};
|
};
|
||||||
let time = i64::try_from(entry.mtime).map_err(|_| libc::EIO)? / 1_000_000_000;
|
let time = i64::try_from(entry.mtime).map_err(|_| libc::EIO)?;
|
||||||
|
let sec = time / 1_000_000_000;
|
||||||
|
let nsec = time % 1_000_000_000;
|
||||||
|
|
||||||
let mut attr: libc::stat = unsafe { std::mem::zeroed() };
|
let mut attr: libc::stat = unsafe { std::mem::zeroed() };
|
||||||
attr.st_ino = inode;
|
attr.st_ino = inode;
|
||||||
@ -534,9 +536,12 @@ fn stat(inode: u64, entry: &PxarEntry, payload_size: u64) -> Result<libc::stat,
|
|||||||
attr.st_size = i64::try_from(payload_size).map_err(|_| libc::EIO)?;
|
attr.st_size = i64::try_from(payload_size).map_err(|_| libc::EIO)?;
|
||||||
attr.st_uid = entry.uid;
|
attr.st_uid = entry.uid;
|
||||||
attr.st_gid = entry.gid;
|
attr.st_gid = entry.gid;
|
||||||
attr.st_atime = time;
|
attr.st_atime = sec;
|
||||||
attr.st_mtime = time;
|
attr.st_atime_nsec = nsec;
|
||||||
attr.st_ctime = time;
|
attr.st_mtime = sec;
|
||||||
|
attr.st_mtime_nsec = nsec;
|
||||||
|
attr.st_ctime = sec;
|
||||||
|
attr.st_ctime_nsec = nsec;
|
||||||
|
|
||||||
Ok(attr)
|
Ok(attr)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user