Re: [Qemu-devel] [PATCH v3 2/3] 9pfs: convert 'len/copied_len' field in V9fsXattr to the type of uint64_t
On Thu, 13 Oct 2016 03:09:42 -0700 Li Qiang wrote: > From: Li Qiang > > The 'len' in V9fsXattr comes from the 'size' argument in setxattr() > function in guest. The setxattr() function's declaration is this: > > int setxattr(const char *path, const char *name, > const void *value, size_t size, int flags); > > and 'size' is treated as u64 in linux kernel client code: > > int p9_client_xattrcreate(struct p9_fid *fid, const char *name, > u64 attr_size, int flags) > > So the 'len' should have an type of 'uint64_t'. > The 'copied_len' in V9fsXattr is used to account for copied bytes, it > should also have an type of 'uint64_t'. > > Suggested-by: Greg Kurz > Signed-off-by: Li Qiang > --- Reviewed-by: Greg Kurz > hw/9pfs/9p.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h > index aa18da1..7fb075f 100644 > --- a/hw/9pfs/9p.h > +++ b/hw/9pfs/9p.h > @@ -159,8 +159,8 @@ typedef struct V9fsConf > > typedef struct V9fsXattr > { > -int64_t copied_len; > -int64_t len; > +uint64_t copied_len; > +uint64_t len; > void *value; > V9fsString name; > int flags;
[Qemu-devel] [PATCH v3 2/3] 9pfs: convert 'len/copied_len' field in V9fsXattr to the type of uint64_t
From: Li Qiang The 'len' in V9fsXattr comes from the 'size' argument in setxattr() function in guest. The setxattr() function's declaration is this: int setxattr(const char *path, const char *name, const void *value, size_t size, int flags); and 'size' is treated as u64 in linux kernel client code: int p9_client_xattrcreate(struct p9_fid *fid, const char *name, u64 attr_size, int flags) So the 'len' should have an type of 'uint64_t'. The 'copied_len' in V9fsXattr is used to account for copied bytes, it should also have an type of 'uint64_t'. Suggested-by: Greg Kurz Signed-off-by: Li Qiang --- hw/9pfs/9p.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h index aa18da1..7fb075f 100644 --- a/hw/9pfs/9p.h +++ b/hw/9pfs/9p.h @@ -159,8 +159,8 @@ typedef struct V9fsConf typedef struct V9fsXattr { -int64_t copied_len; -int64_t len; +uint64_t copied_len; +uint64_t len; void *value; V9fsString name; int flags; -- 1.8.3.1