On Mon, Aug 14, 2017 at 10:14:42PM +0800, Qu Wenruo wrote:
> On 2017年08月14日 22:03, David Sterba wrote:
> > On Mon, Aug 14, 2017 at 09:17:08PM +0800, Qu Wenruo wrote:
> >> On 2017年08月14日 21:06, David Sterba wrote:
> >>> On Mon, Aug 14, 2017 at 02:17:26PM +0200, Hallo32 wrote:
> >>>> Since versions 4.12 btrfs-progs is complicated to cross compile for
> >>>> other systems.
> >>>> The problem is, that this version includes mktables, which needs to be
> >>>> compiled for the host system and executed there for the creation of
> >>>> tables.c.
> >>>>
> >>>> Are there any changes planed for the next version of btrfs-progs to make
> >>>> the cross compiling as simple as in the past? A included tables.c for
> >>>> example?
> >>>
> >>> Yes, keeping the generated tables.c around is fine. There's no reason it
> >>> needs to be generated each time during build. I'll fix that in 4.12.1.
> >>
> >> But the number of lines and impossibility to review it makes it not
> >> suitable to be managed by git.
> > 
> > I don't understand your concern. The file is generated from a set of
> > formulas, not intended to be updated directly.
> 
> Yes, it should never be updated directly, so it's generated by a less 
> than 400 lines program, instead of a whole 10K+ lines file managed by git.

mktables.c is synced from kernel sources, taking updates from there is
easier than porting any changes to the proposed scripted implementation.

The workflow is simple:
- copy kernel mktables.c changes to btrfs-progs mktables.c
- compile mktables
- run 'make kernel-lib/tables.c'
- commit the changes to git

All of that happens very rarely, if ever, the raid56 tables and
correction algorithms are set in stone. Any extensions need to be done
on both sides kernel/userspace.

> >> What about using script to generate it?
> > 
> > We do have the mktables utility to generate it and I'll regenerate it
> > should there be a change to kernel-lib/mktables.c
> 
> I mean to replace mktables.c with a script.
> So no cross compiler problems at all, and even easier Makefile.
> No dependence on "mktables" program.

Somebody has to implement the script and verify that the output is the
same, eventually sync changes. The cross-compilation should be fixed
with the pregenerated tables.c . Is Makefile size really a concern? The
number of related lines is like 7. I don't see any benefit in what you
propose and hopefully explained my viewpoint enough so I don't have to
continue.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to