Message ID | 305501d80a62cc12e0d82a2ffd656819badd0d4d.1527310210.git.keno@alumni.harvard.edu |
---|---|
State | New |
Headers | show |
Series | 9p: Add support for Darwin | expand |
On 26 May 2018 at 06:23, <keno@juliacomputing.com> wrote: > From: Keno Fischer <keno@alumni.harvard.edu> > > Signed-off-by: Keno Fischer <keno@juliacomputing.com> > --- > hw/9pfs/9p.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c > index f5f00aa..4ae4da6 100644 > --- a/hw/9pfs/9p.c > +++ b/hw/9pfs/9p.c > @@ -3351,6 +3351,13 @@ out_nofid: > v9fs_string_free(&name); > } > > +#if defined(CONFIG_DARWIN) && !defined(XATTR_SIZE_MAX) > +/* Darwin doesn't seem to define a maximum xattr size in its user > + user space header, but looking at the kernel source, HFS supports > + up to INT32_MAX, so use that as the maximum. > +*/ > +#define XATTR_SIZE_MAX INT32_MAX > +#endif Do we really need the CONFIG_DARWIN part of this check? thanks -- PMM
> > +#if defined(CONFIG_DARWIN) && !defined(XATTR_SIZE_MAX) > > +/* Darwin doesn't seem to define a maximum xattr size in its user > > + user space header, but looking at the kernel source, HFS supports > > + up to INT32_MAX, so use that as the maximum. > > +*/ > > +#define XATTR_SIZE_MAX INT32_MAX > > +#endif > > Do we really need the CONFIG_DARWIN part of this check? Right now this code only runs on Linux (and Darwin after this series). On Linux it's always defined, but I'd rather this code give an error when somebody tries to port it to a new OS than have it silently use an incorrect value. The ` !defined(XATTR_SIZE_MAX)` is just there in case Apple ever decides to define it in their headers. I can remove that part if you would prefer.
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index f5f00aa..4ae4da6 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -3351,6 +3351,13 @@ out_nofid: v9fs_string_free(&name); } +#if defined(CONFIG_DARWIN) && !defined(XATTR_SIZE_MAX) +/* Darwin doesn't seem to define a maximum xattr size in its user + user space header, but looking at the kernel source, HFS supports + up to INT32_MAX, so use that as the maximum. +*/ +#define XATTR_SIZE_MAX INT32_MAX +#endif static void coroutine_fn v9fs_xattrcreate(void *opaque) { int flags;