Hi Ted,
I got this error when trying to build the pu branch of e2fsprogs:
,----
| ...
| CC ../../misc/e4defrag.c
| ../../misc/e4defrag.c:326:2: warning: #warning Using locally defined fallocate syscall interface.
| ../../misc/e4defrag.c: In function ‘file_frag_count’:
| ../../misc/e4defrag.c:627: error: ‘FS_IOC_FIEMAP’ undeclared (first use in this function)
| ../../misc/e4defrag.c:627: error: (Each undeclared identifier is reported only once
| ../../misc/e4defrag.c:627: error: for each function it appears in.)
| ../../misc/e4defrag.c: In function ‘get_file_extents’:
| ../../misc/e4defrag.c:940: error: ‘FS_IOC_FIEMAP’ undeclared (first use in this function)
| make[2]: *** [e4defrag.o] Error 1
| make[2]: Leaving directory `/home/nick/src/e2fsprogs/build/misc'
| make[1]: *** [all-progs-recursive] Error 1
| make[1]: Leaving directory `/home/nick/src/e2fsprogs/build'
| make: *** [all] Error 2
| nick@shifter:~/src/e2fsprogs/build$ uname -r
| 2.6.31-rc6
`----
Currently, the #define is in filefrag.c:
,----
| nick@shifter:~/src/e2fsprogs$ find . -type f | xargs grep FS_IOC
| ./misc/filefrag.c:#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
| ./misc/filefrag.c: rc = ioctl(fd, FS_IOC_FIEMAP, (unsigned long) fiemap);
| ./misc/e4defrag.c:/* The following macro is used for ioctl FS_IOC_FIEMAP
| ./misc/e4defrag.c: ret = ioctl(fd, FS_IOC_FIEMAP, &fiemap_buf);
| ./misc/e4defrag.c: ret = ioctl(fd, FS_IOC_FIEMAP, fiemap_buf);
| ./lib/ext2fs/fiemap.h: * FS_IOC_FIEMAP ioctl infrastructure.
`----
I moved it from there to lib/ext2fs/fiemap.h and that fixes it.
Thanks,
Nick
Nick Dokos wrote:
> Hi Ted,
>
> I got this error when trying to build the pu branch of e2fsprogs:
>
> ,----
> | ...
> | CC ../../misc/e4defrag.c
> | ../../misc/e4defrag.c:326:2: warning: #warning Using locally defined fallocate syscall interface.
> | ../../misc/e4defrag.c: In function ‘file_frag_count’:
> | ../../misc/e4defrag.c:627: error: ‘FS_IOC_FIEMAP’ undeclared (first use in this function)
> | ../../misc/e4defrag.c:627: error: (Each undeclared identifier is reported only once
> | ../../misc/e4defrag.c:627: error: for each function it appears in.)
> | ../../misc/e4defrag.c: In function ‘get_file_extents’:
> | ../../misc/e4defrag.c:940: error: ‘FS_IOC_FIEMAP’ undeclared (first use in this function)
> | make[2]: *** [e4defrag.o] Error 1
> | make[2]: Leaving directory `/home/nick/src/e2fsprogs/build/misc'
> | make[1]: *** [all-progs-recursive] Error 1
> | make[1]: Leaving directory `/home/nick/src/e2fsprogs/build'
> | make: *** [all] Error 2
> | nick@shifter:~/src/e2fsprogs/build$ uname -r
> | 2.6.31-rc6
> `----
>
> Currently, the #define is in filefrag.c:
>
> ,----
> | nick@shifter:~/src/e2fsprogs$ find . -type f | xargs grep FS_IOC
> | ./misc/filefrag.c:#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
> | ./misc/filefrag.c: rc = ioctl(fd, FS_IOC_FIEMAP, (unsigned long) fiemap);
> | ./misc/e4defrag.c:/* The following macro is used for ioctl FS_IOC_FIEMAP
> | ./misc/e4defrag.c: ret = ioctl(fd, FS_IOC_FIEMAP, &fiemap_buf);
> | ./misc/e4defrag.c: ret = ioctl(fd, FS_IOC_FIEMAP, fiemap_buf);
> | ./lib/ext2fs/fiemap.h: * FS_IOC_FIEMAP ioctl infrastructure.
> `----
>
> I moved it from there to lib/ext2fs/fiemap.h and that fixes it.
I guess that's my fault due to
http://git.kernel.org/?p=fs/ext2/e2fsprogs.git;a=commitdiff;h=4f1d0e8608ddf488316dffbe4cd9993bf3b22084
Would it be better to move the ioctl definition into one place, maybe
our local copy of fiemap.h?
-Eric
> Nick Dokos wrote:
...
> >
> > I moved it from there to lib/ext2fs/fiemap.h and that fixes it.
>
> ...
>
> Would it be better to move the ioctl definition into one place, maybe
> our local copy of fiemap.h?
>
Is "our local copy of fiemap.h" lib/ext2fs/fiemap.h? If so, yes, that
works (and I think it's better.)
Thanks,
Nick
Nick Dokos wrote:
>> Nick Dokos wrote:
> ...
>>> I moved it from there to lib/ext2fs/fiemap.h and that fixes it.
>> ...
>>
>> Would it be better to move the ioctl definition into one place, maybe
>> our local copy of fiemap.h?
>>
>
> Is "our local copy of fiemap.h" lib/ext2fs/fiemap.h? If so, yes, that
> works (and I think it's better.)
yep that's what I meant.
-Eric
> Thanks,
> Nick
I've fixed this in the latest rebase of the pu branch, which has the
latest 'maint' branch fixes merged in. I've also finished cleaning up
and merged the bitmap changes into the 'next' branch, which is a
sizeable chunk of the 64-bit changes:
43 files changed, 1683 insertions(+), 352 deletions(-)
What's left to be cleaned up and merged:
96 files changed, 1940 insertions(+), 1402 deletions(-)
- Ted