2009-08-24 05:09:59

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH] e4defrag: fix ppc build

From: Kyle McMartin <[email protected]>

ppc glibc seems to be missing sync_file_range, so we fell back
to the local define, and there ppc differs as well, so the
build was failing.

Thanks to Kyle for the patch w/ the tidy solution.

Signed-off-by: Eric Sandeen <[email protected]>
---

diff --git a/misc/e4defrag.c b/misc/e4defrag.c
index 4c83fa3..23f01b8 100644
--- a/misc/e4defrag.c
+++ b/misc/e4defrag.c
@@ -305,8 +305,10 @@ static int posix_fadvise(int fd, loff_t offset, size_t len, int advise)
#warning Using locally defined sync_file_range interface.

#ifndef __NR_sync_file_range
+#ifndef __NR_sync_file_range2 /* ppc */
#error Your kernel headers dont define __NR_sync_file_range
#endif
+#endif

/*
* sync_file_range() - Sync file region.
@@ -318,7 +320,11 @@ static int posix_fadvise(int fd, loff_t offset, size_t len, int advise)
*/
int sync_file_range(int fd, loff_t offset, loff_t length, unsigned int flag)
{
+#ifdef __NR_sync_file_range
return syscall(__NR_sync_file_range, fd, offset, length, flag);
+#else
+ return syscall(__NR_sync_file_range2, fd, flag, offset, length);
+#endif
}
#endif /* ! HAVE_SYNC_FILE_RANGE */




2009-08-24 13:40:51

by Greg Freemyer

[permalink] [raw]
Subject: Re: [PATCH] e4defrag: fix ppc build

On Mon, Aug 24, 2009 at 1:09 AM, Eric Sandeen<[email protected]> wrote:
> From: Kyle McMartin <[email protected]>
>
> ppc glibc seems to be missing sync_file_range, so we fell back
> to the local define, and there ppc differs as well, so the
> build was failing.
>
> Thanks to Kyle for the patch w/ the tidy solution.
>
> Signed-off-by: Eric Sandeen <[email protected]>
> ---
>
> diff --git a/misc/e4defrag.c b/misc/e4defrag.c

Eric,

Which git repository holds e4defrag.c? I assume it is public.

Greg

2009-08-24 19:38:14

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] e4defrag: fix ppc build

On Mon, Aug 24, 2009 at 09:40:51AM -0400, Greg Freemyer wrote:
> On Mon, Aug 24, 2009 at 1:09 AM, Eric Sandeen<[email protected]> wrote:
> > From: Kyle McMartin <[email protected]>
> >
> > ppc glibc seems to be missing sync_file_range, so we fell back
> > to the local define, and there ppc differs as well, so the
> > build was failing.
> >
> > Thanks to Kyle for the patch w/ the tidy solution.
> >
> > Signed-off-by: Eric Sandeen <[email protected]>
> > ---
> >
> > diff --git a/misc/e4defrag.c b/misc/e4defrag.c
>
> Eric,
>
> Which git repository holds e4defrag.c? I assume it is public.
>

e4defrag can be found in the 'master', 'next', and 'pu' branches of
the e2fsprogs repository. It's not in the 'maint' branch, so it's not
in any of the e2fsprogs 1.41.x releases. The 'master' branch contains
the in-development work that will be showing up in e2fsprogs 1.42; so
far the big things that there is the on-going merge 64-bit block
number support, and e4defrag.

- Ted

2009-08-28 23:41:49

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] e4defrag: fix ppc build

On Sun, Aug 23, 2009 at 10:09:58PM -0700, Eric Sandeen wrote:
> From: Kyle McMartin <[email protected]>
>
> ppc glibc seems to be missing sync_file_range, so we fell back
> to the local define, and there ppc differs as well, so the
> build was failing.
>
> Thanks to Kyle for the patch w/ the tidy solution.
>
> Signed-off-by: Eric Sandeen <[email protected]>

Thanks, applied.

- Ted