diff --git a/plugin/item/ctail.c b/plugin/item/ctail.c index 3f46c38..42a3134 100644 --- a/plugin/item/ctail.c +++ b/plugin/item/ctail.c @@ -1565,6 +1565,7 @@ static int assign_conversion_mode(flush_pos_t * pos, ctail_convert_mode_t *mode) if (!convert_data_attached(pos)) { if (should_attach_convert_idata(pos)) { struct inode *inode; + gfp_t old_mask = get_current_context()->gfp_mask; assert("edward-264", pos->child != NULL); assert("edward-265", jnode_page(pos->child) != NULL); @@ -1577,7 +1578,9 @@ static int assign_conversion_mode(flush_pos_t * pos, ctail_convert_mode_t *mode) /* * attach new convert item info */ + get_current_context()->gfp_mask |= __GFP_NOFAIL; ret = attach_convert_idata(pos, inode); + get_current_context()->gfp_mask = old_mask; pos->child = NULL; if (ret == -E_REPEAT) { /*