[LU-4719] mdt_dump_lmm crashes for directories created with a large stripe count. Created: 06/Mar/14 Updated: 29/Apr/14 Resolved: 20/Mar/14 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.5.0, Lustre 2.6.0, Lustre 2.4.2 |
| Fix Version/s: | Lustre 2.6.0, Lustre 2.5.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | James A Simmons | Assignee: | Oleg Drokin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
RHEL6.5 server and clients. |
||
| Severity: | 3 |
| Rank (Obsolete): | 12973 |
| Description |
|
For directories created with a large stripe when mdt_dump_lmm is called it will kernel panic. <4>[11496.962905] Pid: 48644, comm: mdt01_248 Not tainted 2.6.32-358.23.2.el6.atlas.x86_64 #1 Dell Inc. PowerEdge C6220 II/09N44V |
| Comments |
| Comment by Peter Jones [ 06/Mar/14 ] |
|
Oleg is working on the fix for this |
| Comment by Oleg Drokin [ 06/Mar/14 ] |
|
The issue at hand is that mdt_dump_lmm assumes passed in striping is the real one. We just need to make sure the EA is not for a directory before printing objects. I see lov_dump_lmm has somewhat similar code with o checks, so it needs to be verified separately not to do stupid things. |
| Comment by Oleg Drokin [ 06/Mar/14 ] |
|
Patch is in http://review.whamcloud.com/9520 |
| Comment by Oleg Drokin [ 06/Mar/14 ] |
|
Another observation, the mdt_dump_lmm traverses striping info even if it's not printed, so it's a pure waste of cpu time. Extra patch is needed to compare current visible msk to the level passed inthat functin and return early if there's no overlap. |
| Comment by Andreas Dilger [ 06/Mar/14 ] |
|
I was just going to write the same thing - this function is mostly just overhead. I pushed an updated version of the patch to skip iteration if nothing will be printed. |
| Comment by Peter Jones [ 20/Mar/14 ] |
|
Landed for 2.6 |
| Comment by James Nunez (Inactive) [ 18/Apr/14 ] |
|
Patch for b2_5 at http://review.whamcloud.com/10021 |