How to submit patches

From OpenVZ Virtuozzo Containers Wiki
Revision as of 14:53, 9 April 2015 by Sergey Bronnikov (talk | contribs) (Initial version)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Setting up working enviroment

Obtaining the source code

The OpenVZ sources are tracked by Git SCM and placed on repository. You either could download packed sources or use git tool itself.

For example to clone vzctl one need to type

       git clone git://

Compiling the source code

FIXME describe how to compile OpenVZ components

Changing the source code


When you change the source code keep in mind - we prefer tabs and indentations to be 8 characters width. Consider reading Linux kernel coding style.

Other "rules" could be learned from the source code - just make your code to look similar.


FIXME describe code style

Producing a patch


There are at least two ways to make it right.

1) git format-patch

You might need to read documentation on Git SCM how to prepare patch for mail submission. Take a look on and/or for details. It should not be hard at all.

2) Use "diff -up"

Use diff -up or diff -uprN to create patches.


FIXME describe preparing patch

Checking patches for errors


Basic style error checking is provided by scripts/ script from linux kernel source tree. You might have headers or complete sources of linux kernel at /usr/src/. Run my_patch.patch (consider --no-tree option for headers-only)

It will produce detailed report on style problems in your patch. Make sure to fix all _errors_(some warnings may be ignored).


Several of our components contains tests. To check whether your patches don't harm anything run:

        make test

It will launch tests. Check for error messages produced by it.

Sending patches


Patches related to kernel should be sent to development mailing list which is located at Pay attention that mails from emails not subscribed to list must pass moderation (i.e. not so fast).

Please make sure the email client you're using doesn't screw your patch (line wrapping and so on).


Patches related to userspace tools should be submitted to code review system (FIXME).

Wait for response

Be patient. Most OpenVZ developers are pretty busy people so if there is no immediate response on your patch - don't be surprised, sometimes a patch may fly around a week(s) before it get reviewed. But definitely the patches will not go to /dev/null.