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);
 }
 
 /* --------------------------------------------------------------------- */
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to