On 20.03.25 15:28, Jason Andryuk wrote:
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.
Indeed. Thanks for catching this one. Juergen
OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature