Date: Mon, 14 Feb 2011 15:36:38 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r218681 - head/sys/fs/tmpfs Message-ID: <201102141536.p1EFacxX097527@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: alc Date: Mon Feb 14 15:36:38 2011 New Revision: 218681 URL: http://svn.freebsd.org/changeset/base/218681 Log: Further simplify tmpfs_reg_resize(). Also, update its comments, including style fixes. Modified: head/sys/fs/tmpfs/tmpfs_subr.c Modified: head/sys/fs/tmpfs/tmpfs_subr.c ============================================================================== --- head/sys/fs/tmpfs/tmpfs_subr.c Mon Feb 14 14:26:14 2011 (r218680) +++ head/sys/fs/tmpfs/tmpfs_subr.c Mon Feb 14 15:36:38 2011 (r218681) @@ -874,9 +874,9 @@ tmpfs_dir_whiteout_remove(struct vnode * /* --------------------------------------------------------------------- */ /* - * Resizes the aobj associated to the regular file pointed to by vp to - * the size newsize. 'vp' must point to a vnode that represents a regular - * file. 'newsize' must be positive. + * Resizes the aobj associated with the regular file pointed to by 'vp' to the + * size 'newsize'. 'vp' must point to a vnode that represents a regular file. + * 'newsize' must be positive. * * Returns zero on success or an appropriate error code on failure. */ @@ -890,7 +890,6 @@ tmpfs_reg_resize(struct vnode *vp, off_t vm_pindex_t newpages, oldpages; off_t oldsize; size_t zerolen; - int error; MPASS(vp->v_type == VREG); MPASS(newsize >= 0); @@ -899,20 +898,19 @@ tmpfs_reg_resize(struct vnode *vp, off_t uobj = node->tn_reg.tn_aobj; tmp = VFS_TO_TMPFS(vp->v_mount); - /* Convert the old and new sizes to the number of pages needed to + /* + * Convert the old and new sizes to the number of pages needed to * store them. It may happen that we do not need to do anything * because the last allocated page can accommodate the change on - * its own. */ + * its own. + */ oldsize = node->tn_size; oldpages = OFF_TO_IDX(oldsize + PAGE_MASK); MPASS(oldpages == uobj->size); newpages = OFF_TO_IDX(newsize + PAGE_MASK); - if (newpages > oldpages && - newpages - oldpages > TMPFS_PAGES_AVAIL(tmp)) { - error = ENOSPC; - goto out; - } + newpages - oldpages > TMPFS_PAGES_AVAIL(tmp)) + return (ENOSPC); TMPFS_LOCK(tmp); tmp->tm_pages_used += (newpages - oldpages); @@ -923,7 +921,7 @@ tmpfs_reg_resize(struct vnode *vp, off_t VM_OBJECT_LOCK(uobj); if (newsize < oldsize) { /* - * free "backing store" + * Release any swap space and free any whole pages. */ if (newpages < oldpages) { swap_pager_freespace(uobj, newpages, oldpages - @@ -932,7 +930,7 @@ tmpfs_reg_resize(struct vnode *vp, off_t } /* - * zero out the truncated part of the last page. + * Zero the truncated part of the last page. */ zerolen = round_page(newsize) - newsize; if (zerolen > 0) { @@ -943,10 +941,7 @@ tmpfs_reg_resize(struct vnode *vp, off_t } uobj->size = newpages; VM_OBJECT_UNLOCK(uobj); - error = 0; - -out: - return (error); + return (0); } /* --------------------------------------------------------------------- */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102141536.p1EFacxX097527>