mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
hw/9pfs: Add st_gen support in getattr reply
This patch use file system specific ioctl for getting i_generation value. Not all file system support the ioctl. So we add an export specific extended operation and assign right callback for the file system that support i_generation ioctl ["M. Mohan Kumar" <mohan@in.ibm.com> we can do ioctl only for regular files and directories on the server] Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
This commit is contained in:
parent
9844081bca
commit
e06a765efb
7 changed files with 116 additions and 1 deletions
|
@ -17,6 +17,30 @@
|
|||
#include "qemu-coroutine.h"
|
||||
#include "virtio-9p-coth.h"
|
||||
|
||||
int v9fs_co_st_gen(V9fsPDU *pdu, V9fsPath *path, mode_t st_mode,
|
||||
V9fsStatDotl *v9stat)
|
||||
{
|
||||
int err = 0;
|
||||
V9fsState *s = pdu->s;
|
||||
|
||||
if (v9fs_request_cancelled(pdu)) {
|
||||
return -EINTR;
|
||||
}
|
||||
if (s->ctx.exops.get_st_gen) {
|
||||
v9fs_path_read_lock(s);
|
||||
v9fs_co_run_in_worker(
|
||||
{
|
||||
err = s->ctx.exops.get_st_gen(&s->ctx, path, st_mode,
|
||||
&v9stat->st_gen);
|
||||
if (err < 0) {
|
||||
err = -errno;
|
||||
}
|
||||
});
|
||||
v9fs_path_unlock(s);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
int v9fs_co_lstat(V9fsPDU *pdu, V9fsPath *path, struct stat *stbuf)
|
||||
{
|
||||
int err;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue