[LU-6746] move IT_* definitions to lustre_idl.h Created: 18/Jun/15 Updated: 19/Oct/15 Resolved: 19/Oct/15 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.8.0 |
| Fix Version/s: | Lustre 2.8.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Andreas Dilger | Assignee: | Dmitry Eremin (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||
| Severity: | 3 | ||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||
| Description |
|
The IT_* definitions (e.g. IT_OPEN, IT_CREAT, etc) in include/obd.h are actually packed into ldlm_intent on the wire and are part of the network protocol (despite the incorrect comment there that they need to match with include/linux/namei.h. These values should be moved (without changing the values!) into lustre_idl.h as a named enum with explicit 0x000n style assignments (see e.g. enum lfsck_event_flags, and then struct lookup_intent->it_op should be changed to use that enum. They also need to be explicitly checked in wirecheck.c and then wiretest.c should be regenerated using "make -c lustre/utils newwiretest" and the resulting files verified that they only add the new fields with the correct values. |
| Comments |
| Comment by Andreas Dilger [ 19/Jun/15 ] |
|
This should also be fixed in the upstream kernel. |
| Comment by Gerrit Updater [ 03/Sep/15 ] |
|
Ben Evans (bevans@cray.com) uploaded a new patch: http://review.whamcloud.com/16228 |
| Comment by Gerrit Updater [ 17/Oct/15 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/16228/ |
| Comment by Joseph Gmitter (Inactive) [ 19/Oct/15 ] |
|
Landed for 2.8. |