Skip to content

Commit

Permalink
src/test-nextquota: fix build failure with glibc 2.24
Browse files Browse the repository at this point in the history
glibc 2.24 defines Q_GETNEXTQUOTA but not `struct nextdqblk`. We
need to define it ourselves, but let's give it a hacky name that
won't cause another build error when the definition is added to
glibc.

Signed-off-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
  • Loading branch information
osandov authored and Eryu Guan committed Aug 26, 2016
1 parent 397c6eb commit 2a084ec
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/test-nextquota.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@

#ifndef Q_GETNEXTQUOTA
#define Q_GETNEXTQUOTA 0x800009 /* get disk limits and usage >= ID */
#endif

struct nextdqblk
/* glibc 2.24 defines Q_GETNEXTQUOTA but not struct nextdqblk. */
struct test_nextdqblk
{
u_int64_t dqb_bhardlimit; /* absolute limit on disk quota blocks alloc */
u_int64_t dqb_bsoftlimit; /* preferred limit on disk quota blocks */
Expand All @@ -54,7 +56,6 @@ struct nextdqblk
u_int32_t dqb_valid; /* bitmask of QIF_* constants */
u_int32_t dqb_id; /* id for this quota info*/
};
#endif

#ifndef Q_XGETNEXTQUOTA
#define Q_XGETNEXTQUOTA XQM_CMD(9)
Expand All @@ -75,7 +76,7 @@ int main(int argc, char *argv[])
uint id = 0, idflag = 0;
char *device = NULL;
char *tmp;
struct nextdqblk dqb;
struct test_nextdqblk dqb;
struct fs_disk_quota xqb;

while ((c = getopt(argc,argv,"ugpi:d:v")) != EOF) {
Expand Down Expand Up @@ -131,7 +132,7 @@ int main(int argc, char *argv[])
if (verbose)
printf("asking for quota type %d for id %u on %s\n", type, id, device);

memset(&dqb, 0, sizeof(struct nextdqblk));
memset(&dqb, 0, sizeof(struct test_nextdqblk));
memset(&xqb, 0, sizeof(struct fs_disk_quota));

if (verbose)
Expand Down

0 comments on commit 2a084ec

Please sign in to comment.