Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bbe01387 authored by Joern Engel's avatar Joern Engel Committed by Prasad Joshi
Browse files

logfs: Grow inode in delete path



Can be necessary if an inode gets deleted (through -ENOSPC) before being
written.  Might be better to move this into logfs_write_rec(), but for
now go with the stupid&safe patch.

Signed-off-by: default avatarJoern Engel <joern@logfs.org>
parent 1bcceaff
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -1576,11 +1576,15 @@ int logfs_write_buf(struct inode *inode, struct page *page, long flags)
static int __logfs_delete(struct inode *inode, struct page *page)
static int __logfs_delete(struct inode *inode, struct page *page)
{
{
	long flags = WF_DELETE;
	long flags = WF_DELETE;
	int err;


	inode->i_ctime = inode->i_mtime = CURRENT_TIME;
	inode->i_ctime = inode->i_mtime = CURRENT_TIME;


	if (page->index < I0_BLOCKS)
	if (page->index < I0_BLOCKS)
		return logfs_write_direct(inode, page, flags);
		return logfs_write_direct(inode, page, flags);
	err = grow_inode(inode, page->index, 0);
	if (err)
		return err;
	return logfs_write_rec(inode, page, page->index, 0, flags);
	return logfs_write_rec(inode, page, page->index, 0, flags);
}
}