[Gluster-devel] struct dirent in snapview-server.c

Harshavardhana harsha at harshavardhana.net
Sun Jun 1 19:47:49 UTC 2014


Emmanuel i sent a patch to disable building snapview on OSX, since it
was of no use
on 'darwin' .

You could see if snapshots and snapview would work on NetBSD (LVM
support), in such cases one
doesn't have to disable it for NetBSD.

d_off might be necessary internally, turning it off might not make
snapshots properly work for BSD.

Snapshot team can explain better.

On the other hand NetBSD has 'sys/compat/linux/*' - can we not
leverage it? is it some
dependency which is not warranted?


On Sun, Jun 1, 2014 at 10:31 AM, Emmanuel Dreyfus <manu at netbsd.org> wrote:
> Emmanuel Dreyfus <manu at netbsd.org> wrote:
>
>> Linux and NetBSD struct dirent do not have the same layout, and in fact
>> the whole buffer returned by readdir() has a different layout and is not
>> straightforward to convert.
>
> After reading further, there are struct dirent used in many other places
> without a hitch. The build breaks here because the d_off field is
> copied, and this field does not exist in NetBSD struct dirent.
>
> Is d_off used anywhere else? If not then I can fix the build with this:
>
> --- a/xlators/features/snapview-server/src/snapview-server.c
> +++ b/xlators/features/snapview-server/src/snapview-server.c
> @@ -1600,7 +1600,9 @@ svs_glfs_readdir (xlator_t *this, glfs_fd_t *glfd,
>                                          strerror (errno));
>                                  break;
>                          }
> +#ifdef linux
>                          entry->d_off = de.d_off;
> +#endif
>                          entry->d_ino = de.d_ino;
>                          entry->d_type = de.d_type;
>                          iatt_from_stat (buf, &statbuf);
>
> --
> Emmanuel Dreyfus
> http://hcpnet.free.fr/pubz
> manu at netbsd.org
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://supercolony.gluster.org/mailman/listinfo/gluster-devel



-- 
Religious confuse piety with mere ritual, the virtuous confuse
regulation with outcomes


More information about the Gluster-devel mailing list