Can you explain the split and the reason for it a little more here? > dump_file( > FILE *fp, > fs_disk_quota_t *d, > - uint id, > - uint *oid, > - uint type, > - char *dev, > - int flags) > + char *dev) > { > - if (!get_quota(d, id, oid, type, dev, flags)) > - return 0; I think it would make more sense to move this into the previous patch that passes the fs_disk_quota to dump_file. And maybe this and the previous patch should be split into one for dump_file and one for report_mount? > + while ((g = getgrent()) != NULL) { > + get_quota(&d, g->gr_gid, NULL, type, mount->fs_name, 0); Overly long line. (and a few more below).