Showing with 9,645 additions and 642 deletions.
  1. +1 −0 config/lustre-build-ldiskfs.m4
  2. +29 −0 ldiskfs/kernel_patches/patches/base/ext4-no-max-dir-size-limit-for-iam-objects.patch
  3. +1,943 −0 ldiskfs/kernel_patches/patches/rhel7.9/ext4-pdirop.patch
  4. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.6.series
  5. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.7.series
  6. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.8.series
  7. +43 −0 ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.9.series
  8. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-4.15.0-20-ubuntu18.series
  9. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-4.15.0-24-ubuntu18.series
  10. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp2.series
  11. +1 −0 ldiskfs/kernel_patches/series/ldiskfs-4.4-sles12sp3.series
  12. +23 −0 lnet/autoconf/lustre-lnet.m4
  13. +3 −0 lnet/include/lnet/lib-types.h
  14. +3 −0 lnet/include/uapi/linux/lnet/lnet-types.h
  15. +21 −13 lnet/klnds/o2iblnd/o2iblnd_cb.c
  16. +3 −3 lnet/lnet/api-ni.c
  17. +16 −17 lnet/lnet/config.c
  18. +18 −18 lnet/lnet/lib-move.c
  19. +1 −1 lnet/lnet/lib-msg.c
  20. +102 −31 lnet/lnet/peer.c
  21. +5 −2 lnet/lnet/router.c
  22. +1 −2 lnet/utils/lnetconfig/liblnetconfig.c
  23. +2 −0 lustre/ChangeLog
  24. +1 −0 lustre/autoconf/lustre-core.m4
  25. +1 −16 lustre/include/lustre_dlm.h
  26. +3 −0 lustre/include/lustre_import.h
  27. +1 −2 lustre/include/obd.h
  28. +2 −1 lustre/include/obd_class.h
  29. +1 −2 lustre/include/obd_support.h
  30. +5 −2 lustre/include/uapi/linux/lustre/lustre_idl.h
  31. +6,529 −0 lustre/kernel_patches/kernel_configs/kernel-3.10.0-3.10-rhel7.9-x86_64.config
  32. +4 −0 lustre/kernel_patches/series/3.10-rhel7.9.series
  33. +26 −0 lustre/kernel_patches/targets/3.10-rhel7.9.target.in
  34. +1 −0 lustre/kernel_patches/which_patch
  35. +36 −7 lustre/ldlm/ldlm_lib.c
  36. +20 −21 lustre/ldlm/ldlm_lock.c
  37. +65 −6 lustre/ldlm/ldlm_request.c
  38. +8 −2 lustre/llite/file.c
  39. +5 −4 lustre/llite/llite_lib.c
  40. +1 −1 lustre/llite/super25.c
  41. +4 −13 lustre/llite/xattr.c
  42. +16 −6 lustre/lmv/lmv_intent.c
  43. +1 −0 lustre/lmv/lmv_internal.h
  44. +6 −2 lustre/lmv/lmv_obd.c
  45. +54 −44 lustre/mdt/mdt_handler.c
  46. +8 −0 lustre/mdt/mdt_internal.h
  47. +131 −0 lustre/mdt/mdt_lib.c
  48. +95 −40 lustre/mdt/mdt_reint.c
  49. +1 −2 lustre/mgc/mgc_request.c
  50. +0 −3 lustre/obdclass/class_obd.c
  51. +1 −0 lustre/obdclass/genops.c
  52. +3 −0 lustre/obdclass/lprocfs_status.c
  53. +7 −2 lustre/obdclass/obd_mount.c
  54. +1 −1 lustre/obdclass/obd_mount_server.c
  55. +32 −21 lustre/osc/osc_cache.c
  56. +4 −0 lustre/osc/osc_io.c
  57. +5 −36 lustre/osc/osc_lock.c
  58. +19 −15 lustre/osc/osc_request.c
  59. +1 −0 lustre/osd-ldiskfs/osd_oi.c
  60. +9 −9 lustre/ptlrpc/events.c
  61. +7 −7 lustre/ptlrpc/import.c
  62. +4 −4 lustre/ptlrpc/nodemap_handler.c
  63. +6 −0 lustre/ptlrpc/wiretest.c
  64. +8 −7 lustre/quota/qmt_handler.c
  65. +4 −0 lustre/target/out_lib.c
  66. +3 −0 lustre/target/tgt_grant.c
  67. +7 −10 lustre/target/tgt_handler.c
  68. +34 −0 lustre/tests/conf-sanity.sh
  69. +2 −150 lustre/tests/lockahead_test.c
  70. +154 −35 lustre/tests/sanity.sh
  71. +46 −51 lustre/tests/sanityn.sh
  72. +33 −33 lustre/utils/portals.c
  73. +3 −0 lustre/utils/wirecheck.c
  74. +6 −0 lustre/utils/wiretest.c
1 change: 1 addition & 0 deletions config/lustre-build-ldiskfs.m4
Expand Up @@ -13,6 +13,7 @@ esac
AS_IF([test -z "$LDISKFS_SERIES"], [
AS_IF([test x$RHEL_KERNEL = xyes], [
case $RHEL_RELEASE_NO in
79) LDISKFS_SERIES="3.10-rhel7.9.series" ;;
78) LDISKFS_SERIES="3.10-rhel7.8.series" ;;
77) LDISKFS_SERIES="3.10-rhel7.7.series" ;;
76) LDISKFS_SERIES="3.10-rhel7.6.series" ;;
Expand Down
@@ -0,0 +1,29 @@
Index: linux-3.10.0-957.27.2.el7/fs/ext4/ext4.h
===================================================================
--- linux-3.10.0-957.27.2.el7.orig/fs/ext4/ext4.h
+++ linux-3.10.0-957.27.2.el7/fs/ext4/ext4.h
@@ -1539,6 +1539,7 @@ enum {
EXT4_STATE_NO_EXPAND, /* No space for expansion */
EXT4_STATE_DA_ALLOC_CLOSE, /* Alloc DA blks on close */
EXT4_STATE_EXT_MIGRATE, /* Inode is migrating */
+ EXT4_STATE_IAM, /* Lustre IAM objects */
EXT4_STATE_DIO_UNWRITTEN, /* need convert on dio done*/
EXT4_STATE_NEWENTRY, /* File just added to dir */
EXT4_STATE_DIOREAD_LOCK, /* Disable support for dio read
Index: linux-3.10.0-957.27.2.el7/fs/ext4/namei.c
===================================================================
--- linux-3.10.0-957.27.2.el7.orig/fs/ext4/namei.c
+++ linux-3.10.0-957.27.2.el7/fs/ext4/namei.c
@@ -58,8 +58,10 @@ struct buffer_head *ext4_append(handle_t

if (unlikely(EXT4_SB(inode->i_sb)->s_max_dir_size_kb &&
((inode->i_size >> 10) >=
- EXT4_SB(inode->i_sb)->s_max_dir_size_kb)))
- return ERR_PTR(-ENOSPC);
+ EXT4_SB(inode->i_sb)->s_max_dir_size_kb))) {
+ if (!ext4_test_inode_state(inode, EXT4_STATE_IAM))
+ return ERR_PTR(-ENOSPC);
+ }

/* with parallel dir operations all appends
* have to be serialized -bzzz */