From 4f8d31d72708f4ae08913e7f42fdc4e852597ed3 Mon Sep 17 00:00:00 2001 From: Maksym Planeta Date: Mon, 23 Jan 2012 23:27:06 +0200 Subject: Correct available space check. *tmpfs/node.c (diskfs_grow): Parameter size denotes new size, not delta. So available space check should take that into account. --- tmpfs/node.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tmpfs/node.c') diff --git a/tmpfs/node.c b/tmpfs/node.c index ccc077ca..9d3647f8 100644 --- a/tmpfs/node.c +++ b/tmpfs/node.c @@ -443,7 +443,8 @@ diskfs_grow (struct node *np, off_t size, struct protid *cred) return 0; size = round_page (size); - if (round_page (tmpfs_space_used + size) / vm_page_size > tmpfs_page_limit) + if (round_page (tmpfs_space_used + size - np->allocsize) + / vm_page_size > tmpfs_page_limit) return ENOSPC; if (default_pager == MACH_PORT_NULL) -- cgit v1.2.3