diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 3c97cf3e9f650e170dbb9aef6487c1355e917630..b580869956a73394f4807ed336723ccb14908597 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -1909,6 +1909,13 @@ static int __ext4_journalled_writepage(struct page *page, goto out; } + if (!page_has_buffers(page)) { + /* Check buffer valid since we ever unlock this page */ + ext4_journal_stop(handle); + ClearPageDirty(page); + goto out; + } + if (inline_data) { ret = ext4_mark_inode_dirty(handle, inode); } else {