On Tue, May 9, 2017 at 9:18 AM, Brian Dolbec <dol...@gentoo.org> wrote:

> On Sun,  7 May 2017 16:50:40 -0700
> Zac Medico <zmed...@gentoo.org> wrote:
>
> > The loff_t type is a GNU extension, so use the portable off_t
> > type instead. Also, enable Large File Support macros in setup.py,
> > for 64-bit offsets.
> >
> > Reported-by: Patrick Steinhardt <p...@pks.im>
> > X-Gentoo-bug: 617778
> > X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=617778
> > ---
> >  setup.py                                   | 5 ++++-
> >  src/portage_util_file_copy_reflink_linux.c | 6 +++---
> >  2 files changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/setup.py b/setup.py
> > index e993177..1ba6f87 100755
> > --- a/setup.py
> > +++ b/setup.py
> > @@ -676,7 +676,10 @@ setup(
> >               ['$sysconfdir/portage/repo.postsync.d',
> > ['cnf/repo.postsync.d/example']], ],
> >
> > -     ext_modules = [Extension(name=n, sources=m) for n, m in
> > x_c_helpers.items()],
> > +     ext_modules = [Extension(name=n, sources=m,
> > +             extra_compile_args=['-D_FILE_OFFSET_BITS=64',
> > +             '-D_LARGEFILE_SOURCE', '-D_LARGEFILE64_SOURCE'])
> > +             for n, m in x_c_helpers.items()],
> >
> >       cmdclass = {
> >               'build': x_build,
> > diff --git a/src/portage_util_file_copy_reflink_linux.c
> > b/src/portage_util_file_copy_reflink_linux.c index b031d96..2fb17a0
> > 100644 --- a/src/portage_util_file_copy_reflink_linux.c
> > +++ b/src/portage_util_file_copy_reflink_linux.c
> > @@ -66,7 +66,7 @@ initreflink_linux(void)
> >   * (errno is set appropriately).
> >   */
> >  static ssize_t
> > -cfr_wrapper(int fd_out, int fd_in, loff_t *off_out, size_t len)
> > +cfr_wrapper(int fd_out, int fd_in, off_t *off_out, size_t len)
> >  {
> >  #ifdef __NR_copy_file_range
> >      return syscall(__NR_copy_file_range, fd_in, NULL, fd_out,
> > @@ -96,7 +96,7 @@ cfr_wrapper(int fd_out, int fd_in, loff_t *off_out,
> > size_t len)
> >   * reaches EOF.
> >   */
> >  static off_t
> > -do_lseek_data(int fd_out, int fd_in, loff_t *off_out) {
> > +do_lseek_data(int fd_out, int fd_in, off_t *off_out) {
> >  #ifdef SEEK_DATA
> >      /* Use lseek SEEK_DATA/SEEK_HOLE for sparse file support,
> >       * as suggested in the copy_file_range man page.
> > @@ -189,7 +189,7 @@ _reflink_linux_file_copy(PyObject *self, PyObject
> > *args) ssize_t buf_bytes, buf_offset, copyfunc_ret;
> >      struct stat stat_in, stat_out;
> >      char* buf;
> > -    ssize_t (*copyfunc)(int, int, loff_t *, size_t);
> > +    ssize_t (*copyfunc)(int, int, off_t *, size_t);
> >
> >      if (!PyArg_ParseTuple(args, "ii", &fd_in, &fd_out))
> >          return NULL;
>
> looks fine and is Anthony approved ;)
>

Thanks, merged:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=1a7aeb58c4e687e4d4012054b56373f27941a067
-- 
Thanks,
Zac

Reply via email to