On 2025-03-20 03:49, Juergen Gross wrote:
Add a file operations fstat hook to the 9pfs frontend.
Signed-off-by: Juergen Gross <jgr...@suse.com>
---
@@ -950,6 +952,32 @@ static int write_9pfs(struct file *file, const void *buf,
size_t nbytes)
return ret;
}
+static int fstat_9pfs(struct file *file, struct stat *buf)
+{
+ struct file_9pfs *f9pfs = file->filedata;
+ struct p9_stat stat;
+ int ret;
+
+ ret = p9_stat(f9pfs->dev, f9pfs->fid, &stat);
+ if ( ret )
+ {
+ errno = EIO;
+ return -1;
+ }
+
+ buf->st_mode = (stat.qid[0] == QID_TYPE_DIR) ? S_IFDIR : S_IFREG;
+ buf->st_mode = stat.mode & 0777;
I think you want `|= stat.mode & 0x777` here.
Regards,
Jason