diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 9379a062dba4b8ce66fd682b135f9d69c67ddd0e..0b5521cec637ce25d0ac732a190f99f746da82eb 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -1911,6 +1911,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 {