Loading fs/ext4/page-io.c +16 −13 Original line number Diff line number Diff line Loading @@ -484,15 +484,17 @@ int ext4_bio_write_page(struct ext4_io_submit *io, gfp_t gfp_flags = GFP_NOFS; retry_encrypt: if (!fscrypt_using_hardware_encryption(inode)) data_page = fscrypt_encrypt_page(inode, page, PAGE_SIZE, 0, page->index, gfp_flags); if (!fscrypt_using_hardware_encryption(inode)) { data_page = fscrypt_encrypt_page(inode, page, PAGE_SIZE, 0, page->index, gfp_flags); if (IS_ERR(data_page)) { ret = PTR_ERR(data_page); if (ret == -ENOMEM && wbc->sync_mode == WB_SYNC_ALL) { if (ret == -ENOMEM && wbc->sync_mode == WB_SYNC_ALL) { if (io->io_bio) { ext4_io_submit(io); congestion_wait(BLK_RW_ASYNC, HZ/50); congestion_wait(BLK_RW_ASYNC, HZ/50); } gfp_flags |= __GFP_NOFAIL; goto retry_encrypt; Loading @@ -501,6 +503,7 @@ int ext4_bio_write_page(struct ext4_io_submit *io, goto out; } } } /* Now submit buffers to write */ do { Loading Loading
fs/ext4/page-io.c +16 −13 Original line number Diff line number Diff line Loading @@ -484,15 +484,17 @@ int ext4_bio_write_page(struct ext4_io_submit *io, gfp_t gfp_flags = GFP_NOFS; retry_encrypt: if (!fscrypt_using_hardware_encryption(inode)) data_page = fscrypt_encrypt_page(inode, page, PAGE_SIZE, 0, page->index, gfp_flags); if (!fscrypt_using_hardware_encryption(inode)) { data_page = fscrypt_encrypt_page(inode, page, PAGE_SIZE, 0, page->index, gfp_flags); if (IS_ERR(data_page)) { ret = PTR_ERR(data_page); if (ret == -ENOMEM && wbc->sync_mode == WB_SYNC_ALL) { if (ret == -ENOMEM && wbc->sync_mode == WB_SYNC_ALL) { if (io->io_bio) { ext4_io_submit(io); congestion_wait(BLK_RW_ASYNC, HZ/50); congestion_wait(BLK_RW_ASYNC, HZ/50); } gfp_flags |= __GFP_NOFAIL; goto retry_encrypt; Loading @@ -501,6 +503,7 @@ int ext4_bio_write_page(struct ext4_io_submit *io, goto out; } } } /* Now submit buffers to write */ do { Loading