+--- /dev/null
++++ b/ldiskfs/kernel_patches/patches/rhel6.3/ext4-notalloc_under_idatasem.patch
+@@ -0,0 +1,14 @@
++Index: linux-stage/fs/ext4/extents.c
++===================================================================
++--- linux-stage.orig/fs/ext4/extents.c 2015-07-13 22:22:56.000000000 +0300
+++++ linux-stage/fs/ext4/extents.c 2015-07-13 22:24:05.000000000 +0300
++@@ -4318,7 +4318,8 @@ static int ext4_find_delayed_extent(stru
++ struct buffer_head *head = NULL;
++ unsigned int nr_pages = PAGE_SIZE / sizeof(struct page *);
++
++- pages = kmalloc(PAGE_SIZE, GFP_KERNEL);
+++ /* we are running under i_data_sem so don't re-enter fs code */
+++ pages = kmalloc(PAGE_SIZE, GFP_NOFS);
++ if (pages == NULL)
++ return -ENOMEM;
++