[LU-8534] RHEL7.3 ldiskfs patch set Created: 24/Aug/16 Updated: 02/Dec/16 Resolved: 18/Nov/16 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.8.0 |
| Fix Version/s: | Lustre 2.9.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Christopher Morrone | Assignee: | Peter Jones |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | RHEL7.3, llnl | ||
| Issue Links: |
|
||||||||||||||||
| Severity: | 3 | ||||||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||||||
| Description |
|
Locally I need to get Lustre built against an It appears that patch 923ae0ff9250430133b3310fe62c47538cf1cbc1 from the upsteam linux kernel is in this new pre-RHEL7.3 kernel. The patch introduces ext4 DAX support. It adds the following define to fs/ext4/ext4.h: +#ifdef CONFIG_FS_DAX +#define EXT4_MOUNT_DAX 0x00200 /* Direct Access */ +#else +#define EXT4_MOUNT_DAX 0 +#endif The ext4-data-in-dirent.patch introduces EXT4_MOUNT_DIRDATA with the same value: #define EXT4_MOUNT_DIRDATA 0x00200 /* Data in directory entries*/ I am going to need guidance on that flag conflict. |
| Comments |
| Comment by Andreas Dilger [ 24/Aug/16 ] |
|
It looks like commit 4113c4caa4f removed the use of EXT4_MOUNT_OLDALLOC 0x00002 in the 3.1 kernel, so it should be usable for RHEL7.x. These EXT4_MOUNT_* constants are only used in-core so changing it isn't critical. It would also be possible to use an EXT4_MOUNT2_DIRDATA constant. |
| Comment by Christopher Morrone [ 24/Aug/16 ] |
|
Yes, there is no EXT4_MOUNT_* macro using 0x00002. I'll go with that then. |
| Comment by Gerrit Updater [ 24/Aug/16 ] |
|
Christopher J. Morrone (morrone2@llnl.gov) uploaded a new patch: http://review.whamcloud.com/22113 |
| Comment by Christopher Morrone [ 24/Aug/16 ] |
|
The http://review.whamcloud.com/22113 is a pretty naive refresh of the ldiskfs patches for RHEL7.3. The ext4-corrupted-inode-block-bitmaps-handling-patches.patch in particular probably needs scrutiny. The upstream kernel adds this at the beginning of the ext4/balloc.c:ext4_init_block_bitmap() function: if (buffer_verified(bh) || EXT4_MB_GRP_BBITMAP_CORRUPT(grp)) return; Previously the patch removed the declaration and definition of "grp". I reintroduced that line. I have no idea if that is correct. Also there was a simple contextual conflic in ext4/balloc.c:ext4_read_block_bitmap_nowait() here: set_buffer_uptodate(bh);
ext4_unlock_group(sb, block_group);
unlock_buffer(bh);
- if (err)
- ext4_error(sb, "Checksum bad for grp %u", block_group);
goto verify;
}
Previously there was a return where now there is "goto verify;". The naive contextual resolution was simple, but someone should look into whether the broader logic still makes sense. |
| Comment by Christopher Morrone [ 05/Oct/16 ] |
|
Ping. Review still needed here. |
| Comment by Bob Glossman (Inactive) [ 05/Oct/16 ] |
|
it looks fine to me, but should really include brand new el7.2 ldiskfs patch. Just landed in master. see |
| Comment by Christopher Morrone [ 05/Oct/16 ] |
|
Please put the review in gerrit. Thanks. |
| Comment by Gerrit Updater [ 18/Nov/16 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/22113/ |
| Comment by Peter Jones [ 18/Nov/16 ] |
|
Landed for 2.9 |