summaryrefslogtreecommitdiff
path: root/ufs
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-05-02 16:28:10 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-05-02 16:28:10 +0000
commitbe9e5cf18d7eeaf14b99e2e7c785cfde06b1a8d1 (patch)
treebbde39cc0f399bc1d546fc62b7e9ef821a89d52c /ufs
parent9a7bf564172bad425017c9b1bc74b0539f7eb6e7 (diff)
fixup
Diffstat (limited to 'ufs')
-rw-r--r--ufs/sizes.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ufs/sizes.c b/ufs/sizes.c
index ee69c566..4237ea56 100644
--- a/ufs/sizes.c
+++ b/ufs/sizes.c
@@ -402,8 +402,8 @@ block_extended (struct node *np,
/* There's *got* to be a better way to do this... */
/* Force it out to disk */
- assert (np->fileinfo);
- pager_sync_some (np->fileinfo->p, lbn * sblock->fs_bsize + off,
+ assert (np->dn->fileinfo);
+ pager_sync_some (np->dn->fileinfo->p, lbn * sblock->fs_bsize + off,
vm_page_size, 1);
/* Read it back in */
@@ -421,7 +421,7 @@ block_extended (struct node *np,
write of this file, maybe even one from before we started
running may have been fsynced. We can't cause data already
on disk to be lossy at any time in the future while we move it. */
- pager_sync_some (np->fileinfo->p, lbn * sblock->fs_bsize + off,
+ pager_sync_some (np->dn->fileinfo->p, lbn * sblock->fs_bsize + off,
vm_page_size, 1);
}
@@ -494,9 +494,10 @@ diskfs_grow (struct node *np,
if (err)
goto out;
+ old_pbn = read_disk_entry (di->di_db[olbn]);
+
block_extended (np, olbn, old_pbn, bno, osize, sblock->fs_bsize);
- old_pbn = read_disk_entry (di->di_db[olbn]);
write_disk_entry (di->di_db[olbn], bno);
record_poke (di, sizeof (struct dinode));
np->dn_set_ctime = 1;