|
@@ -1368,6 +1368,10 @@ retry:
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
+ /* We cannot recurse into the filesystem as the transaction is already
|
|
|
+ * started */
|
|
|
+ flags |= AOP_FLAG_NOFS;
|
|
|
+
|
|
|
page = grab_cache_page_write_begin(mapping, index, flags);
|
|
|
if (!page) {
|
|
|
ext4_journal_stop(handle);
|
|
@@ -1377,7 +1381,7 @@ retry:
|
|
|
*pagep = page;
|
|
|
|
|
|
ret = block_write_begin(file, mapping, pos, len, flags, pagep, fsdata,
|
|
|
- ext4_get_block);
|
|
|
+ ext4_get_block);
|
|
|
|
|
|
if (!ret && ext4_should_journal_data(inode)) {
|
|
|
ret = walk_page_buffers(handle, page_buffers(page),
|
|
@@ -2667,6 +2671,9 @@ retry:
|
|
|
ret = PTR_ERR(handle);
|
|
|
goto out;
|
|
|
}
|
|
|
+ /* We cannot recurse into the filesystem as the transaction is already
|
|
|
+ * started */
|
|
|
+ flags |= AOP_FLAG_NOFS;
|
|
|
|
|
|
page = grab_cache_page_write_begin(mapping, index, flags);
|
|
|
if (!page) {
|