diff --git a/make.sh b/make.sh
index 9372f9bab4f1f172cfa62e8a888c95bc0e823dcc..684a56608741671c90f28a42a257d4b5865c491b 100755
--- a/make.sh
+++ b/make.sh
@@ -30,9 +30,11 @@ apt install -yqqq git devscripts build-essential
 
 apt source linux
 
-cp -rv meta linux-5.10.106/debian/patches
+LINDIR=$(find . -maxdepth 1 -name 'linux-*' -type d)
 
-cd linux-5.10.106
+cp -rv meta ${LINDIR}/debian/patches
+
+cd ${LINDIR}
 cd debian/patches
 
 echo '# META' >> series
@@ -48,7 +50,6 @@ mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --yes'
 
 # Build balicku
 dpkg-buildpackage -uc -us -b || true
-dpkg-buildpackage -uc -us -b || true
 
 cd ..
 mkdir build
diff --git a/meta/assoc_array_gc.patch b/meta/assoc_array_gc.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ace20127716f2de5698d3f47accd33a0727eaf74
--- /dev/null
+++ b/meta/assoc_array_gc.patch
@@ -0,0 +1,25 @@
+Index: linux-4.19.132/lib/assoc_array.c
+===================================================================
+--- linux-4.19.132.orig/lib/assoc_array.c
++++ linux-4.19.132/lib/assoc_array.c
+@@ -1562,6 +1562,7 @@ continue_node:
+ 	for (slot = 0; slot < ASSOC_ARRAY_FAN_OUT; slot++) {
+ 		struct assoc_array_shortcut *s;
+ 		struct assoc_array_node *child;
++		int meta_ptr_present = 0;
+ 
+ 		ptr = new_n->slots[slot];
+ 		if (!ptr || assoc_array_ptr_is_leaf(ptr))
+@@ -1576,7 +1577,11 @@ continue_node:
+ 		child = assoc_array_ptr_to_node(ptr);
+ 		new_n->nr_leaves_on_branch += child->nr_leaves_on_branch;
+ 
+-		if (child->nr_leaves_on_branch <= nr_free + 1) {
++		for (i = 0; i < ASSOC_ARRAY_FAN_OUT; i++) {
++			struct assoc_array_ptr *p = child->slots[i];
++			if (p && assoc_array_ptr_is_meta(p)) meta_ptr_present = 1;
++		}
++		if (child->nr_leaves_on_branch <= nr_free + 1 && !meta_ptr_present) {
+ 			/* Fold the child node into this one */
+ 			pr_devel("[%d] fold node %lu/%d [nx %d]\n",
+ 				 slot, child->nr_leaves_on_branch, nr_free + 1,
diff --git a/meta/meta_config.patch b/meta/meta_config.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1ae07fa898c62488ec163d8bf7abeb423e2b3eaf
--- /dev/null
+++ b/meta/meta_config.patch
@@ -0,0 +1,16 @@
+Index: linux-5.10.103/debian/config/config
+===================================================================
+--- linux-5.10.103.orig/debian/config/config
++++ linux-5.10.103/debian/config/config
+@@ -6358,8 +6358,9 @@ CONFIG_TASK_IO_ACCOUNTING=y
+ CONFIG_PSI=y
+ # CONFIG_PSI_DEFAULT_DISABLED is not set
+ CONFIG_CPU_ISOLATION=y
+-# CONFIG_IKCONFIG is not set
+-CONFIG_LOG_BUF_SHIFT=17
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_LOG_BUF_SHIFT=21
+ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+ CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+ CONFIG_NUMA_BALANCING=y
diff --git a/meta/nfs_recover_stateid_wait.patch b/meta/nfs_recover_stateid_wait.patch
new file mode 100644
index 0000000000000000000000000000000000000000..fa80c606487dd65c606fb76d327b53a48bcfe6fc
--- /dev/null
+++ b/meta/nfs_recover_stateid_wait.patch
@@ -0,0 +1,26 @@
+Index: linux-5.10.103/fs/nfs/nfs4state.c
+===================================================================
+--- linux-5.10.103.orig/fs/nfs/nfs4state.c
++++ linux-5.10.103/fs/nfs/nfs4state.c
+@@ -2433,7 +2433,7 @@ void nfs41_handle_sequence_flag_errors(s
+ 	 * Those flags are expected to remain set until we're done
+ 	 * recovering (see RFC5661, section 18.46.3).
+ 	 */
+-	if (recovery)
++	if (recovery || test_bit(NFS4CLNT_MANAGER_RUNNING, &clp->cl_state) )
+ 		goto out_recovery;
+ 
+ 	if (flags & SEQ4_STATUS_RESTART_RECLAIM_NEEDED)
+Index: linux-5.10.103/fs/nfs/nfs4proc.c
+===================================================================
+--- linux-5.10.103.orig/fs/nfs/nfs4proc.c
++++ linux-5.10.103/fs/nfs/nfs4proc.c
+@@ -1694,7 +1694,7 @@ static void nfs_set_open_stateid_locked(
+ 		trace_nfs4_open_stateid_update_wait(state->inode, stateid, 0);
+ 
+ 		if (!fatal_signal_pending(current)) {
+-			if (schedule_timeout(5*HZ) == 0)
++			if (schedule_timeout(1*HZ) == 0)
+ 				status = -EAGAIN;
+ 			else
+ 				status = 0;