User:AnthonyLiguori: Difference between revisions
(Created page with '== Features == Features that I'm working on: * Features/HelperNetworking * Features/NetDeviceFailover') |
(→About) |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== About == | |||
I'm the QEMU project leader and maintain everything that isn't covered by someone else. I also the release manager for our primary release stream. My main area of expertise is x86 virtualization although I try to review as much as possible. I'm not very familiar with TCG so I typically avoid TCG related patches. | |||
* irc: aliguori | |||
* email: aliguori@us.ibm.com | |||
== Features == | == Features == | ||
Line 4: | Line 11: | ||
* [[Features/HelperNetworking]] | * [[Features/HelperNetworking]] | ||
* [[Features/PCIMemoryAPI]] | |||
* [[Features/RamAPI]] | |||
Features that I'd like to one day work on: | |||
* [[Features/NetDeviceFailover]] | * [[Features/NetDeviceFailover]] | ||
* [[Features/GtkDisplayState]] | |||
* [[Features/PVCrashDetection]] | |||
* [[Features/Usability]] | |||
== Work Flow == | |||
Here's how I handle QEMU patches. When you submit a patch, if you follow the steps that complement how I apply patches, there's a much stronger likelihood that your patch will be accepted on the first try :-) | |||
* I have a special mail account that sorts any mail with a '[PATCH' in the subject to a folder NeedsFiltering | |||
* The account also sorts mail with '[PULL]' in the subject to a folder PullRequests | |||
* I frequently go through and cull out replies or patches that are obvious rejects from NeedsFiltering. If I drop a patch here, it's because 1) I'm not the right person to apply it 2) there's an obvious problem and I'll send an email describing the problem. | |||
* After a patch has been on the list long enough (2-7 days usually) so that people can comment, I move the patch to a Patches directory. I try to limit this to batches of 10-20 patches at a time. | |||
* I use git-am to apply the Patches folder. If this fails, it's either because 1) the patch is malformed or 2) there's a merge conflict. If the patch is malformed, I'll send an email saying it's malformed. If the patch is consistently resubmitted in a malformed manner, I'll stop responding. If there's a merge conflict, I'll try to resolve the conflict. If there isn't a trivial resolution, I'll ask for a resubmit to have the original author resolve the merge conflict. | |||
* I do a full build of the tree. I usually have all optional libraries installed and I do not pass any arguments to configure. If the build fails, I'll bisect, remove the offending patches, and notify the author. | |||
* I do some basic sanity testing. This involves booting a few guests, verifying networking works, etc. This is automated with some local scripts. | |||
* I rebase to the latest git sources, and do a thorough review of each patch. I'll potentially drop more patches here but will always send an email explaining the problem. | |||
* Depending on the patches submitted, I do more testing in specific areas that patches cover. I had a wide variety of guests and scripts locally to do this and I choose the set of testing to do based on previous experience of what fails. | |||
* Assuming all goes well, I'll push the patches to the main git tree, and notify the author that the patch has been applied. | |||
* At some point later, I go through accumulated commits, and cherry pick individual bug fixes for the stable branch. For the stable branch, I use a combination of a greater set of local tests and kvm-autotest. |
Latest revision as of 00:04, 20 May 2013
About
I'm the QEMU project leader and maintain everything that isn't covered by someone else. I also the release manager for our primary release stream. My main area of expertise is x86 virtualization although I try to review as much as possible. I'm not very familiar with TCG so I typically avoid TCG related patches.
- irc: aliguori
- email: aliguori@us.ibm.com
Features
Features that I'm working on:
Features that I'd like to one day work on:
Work Flow
Here's how I handle QEMU patches. When you submit a patch, if you follow the steps that complement how I apply patches, there's a much stronger likelihood that your patch will be accepted on the first try :-)
- I have a special mail account that sorts any mail with a '[PATCH' in the subject to a folder NeedsFiltering
- The account also sorts mail with '[PULL]' in the subject to a folder PullRequests
- I frequently go through and cull out replies or patches that are obvious rejects from NeedsFiltering. If I drop a patch here, it's because 1) I'm not the right person to apply it 2) there's an obvious problem and I'll send an email describing the problem.
- After a patch has been on the list long enough (2-7 days usually) so that people can comment, I move the patch to a Patches directory. I try to limit this to batches of 10-20 patches at a time.
- I use git-am to apply the Patches folder. If this fails, it's either because 1) the patch is malformed or 2) there's a merge conflict. If the patch is malformed, I'll send an email saying it's malformed. If the patch is consistently resubmitted in a malformed manner, I'll stop responding. If there's a merge conflict, I'll try to resolve the conflict. If there isn't a trivial resolution, I'll ask for a resubmit to have the original author resolve the merge conflict.
- I do a full build of the tree. I usually have all optional libraries installed and I do not pass any arguments to configure. If the build fails, I'll bisect, remove the offending patches, and notify the author.
- I do some basic sanity testing. This involves booting a few guests, verifying networking works, etc. This is automated with some local scripts.
- I rebase to the latest git sources, and do a thorough review of each patch. I'll potentially drop more patches here but will always send an email explaining the problem.
- Depending on the patches submitted, I do more testing in specific areas that patches cover. I had a wide variety of guests and scripts locally to do this and I choose the set of testing to do based on previous experience of what fails.
- Assuming all goes well, I'll push the patches to the main git tree, and notify the author that the patch has been applied.
- At some point later, I go through accumulated commits, and cherry pick individual bug fixes for the stable branch. For the stable branch, I use a combination of a greater set of local tests and kvm-autotest.