[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:
Blocker
is blocking LU-8796 kernel upgrade [RHEL7.3 3.10.0-514.el7] Resolved
Related
is related to LU-8571 Lustre 2.8 support for RHEL7.3 Closed
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

Locally I need to get Lustre built against an alpha kernel for RHEL7.3 beta. I started with the ldiskfs-3.10-rhel7.2.series, and hit the following issue.

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
Subject: LU-8534 ldiskfs: Add patch series for RHEL7.3
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: bf02c36601bbc7628b3fbd4ece726f46b08778e4

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 LU-8327.

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/
Subject: LU-8534 ldiskfs: Add patch series for RHEL7.3
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: adc9592d1820d5086e52e387008263b4dace9b0e

Comment by Peter Jones [ 18/Nov/16 ]

Landed for 2.9

Generated at Sat Feb 10 02:18:24 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.