[PATCH 1/2] Staging: hv: Add proper versioning to HV drivers

Hank Janssen hjanssen at microsoft.com
Thu Feb 11 22:15:08 UTC 2010


>>  
>> -static const char VersionDate[] = __DATE__;
>> -static const char VersionTime[] = __TIME__;
>> -static const char VersionDesc[] = "Version 2.0";
>> +static const char hv_build_date[] = __DATE__;
>> +static const char hv_build_time[] = __TIME__;
>
>This should not be needed at all, as it make absolutely no sense.

You know, you are actually right. This is leftover from when the drivers
Where standalone (before we submitted them to mainline) when customers
Build the drivers on site themselves. It helped them to know when they
Build it.

>> +/*
>> + * We use the same version numbering for all Hyper-V modules.
>> + */
>> +#define HV_DRV_VERSION           "3.0.0"
>
>Is this really needed?  Now that the code is in the kernel tree,
>shouldn't you be tracking this based on kernel release version (like 90%
>of the drivers are tracked), or is there some requirement for a version
>number?
>
>And what decides when this number is changed?  What does it "mean"?
>What is it tracking?

The definition of the versioning for us is as follows;

Field	Description	Resolution
1	Major Number 	Changes for these scenarios;
				1.	When a new version of Windows Hyper-V 
					is released.
				2.	A Major change has occurred in the 
					Linux IC's. 
				(For example the merge for the first time 
				into the kernel) Every time the Major Number 
				changes, the Minor Number and Revision number 
				are reset to 0.
2	Minor Number	Changes when new functionality is added 
				to the Linux IC's that is not a bug fix. 
				If new functionality is added to the IC's 
				that is in effect also a bug fix (in the case 
				of SMP). The new functionality will override 
				the need for changing the Revision number. 
				Every time the Minor Number changes, the 
				Revision number will be reset to 0.
				For example, The current version is on;
						3.0.4
				And SMP is added, which fixes a problem as 
				well. The new versioning will become;
						3.1.0
3	Revision		Every time a bug fix or code change is 
				done that is not a Minor or Major number 
				change, this field increases by 1.

We have had issues in the past trying to piece together what customers
Where running.

The importance of the versioning numbering like this will go away over
Time once we have the code cleaned up and have additional functionality
In a staged manner. For now we are still trying to catch up.

Would you like me to re-roll the patch to remove the DATE/TIME stuff
And add the explanation for versioning as comments to the code?

Thanks,

Hank.




More information about the devel mailing list