Page MenuHomeFreeBSD

D37866.diff
No OneTemporary

D37866.diff

diff --git a/sys/fs/tmpfs/tmpfs_subr.c b/sys/fs/tmpfs/tmpfs_subr.c
--- a/sys/fs/tmpfs/tmpfs_subr.c
+++ b/sys/fs/tmpfs/tmpfs_subr.c
@@ -2325,29 +2325,19 @@
int
tmpfs_truncate(struct vnode *vp, off_t length)
{
- int error;
struct tmpfs_node *node;
+ int error;
- node = VP_TO_TMPFS_NODE(vp);
-
- if (length < 0) {
- error = EINVAL;
- goto out;
- }
-
- if (node->tn_size == length) {
- error = 0;
- goto out;
- }
-
+ if (length < 0)
+ return (EINVAL);
if (length > VFS_TO_TMPFS(vp->v_mount)->tm_maxfilesize)
return (EFBIG);
- error = tmpfs_reg_resize(vp, length, FALSE);
+ node = VP_TO_TMPFS_NODE(vp);
+ error = node->tn_size == length ? 0 : tmpfs_reg_resize(vp, length,
+ FALSE);
if (error == 0)
node->tn_status |= TMPFS_NODE_CHANGED | TMPFS_NODE_MODIFIED;
-
-out:
tmpfs_update(vp);
return (error);

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 10, 10:32 AM (13 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28621329
Default Alt Text
D37866.diff (832 B)

Event Timeline