summaryrefslogtreecommitdiff
path: root/lib/librefuse/refuse.c
diff options
context:
space:
mode:
authorpooka <pooka@NetBSD.org>2007-02-16 00:16:39 +0000
committerpooka <pooka@NetBSD.org>2007-02-16 00:16:39 +0000
commitc18a22fa1f289fb2fdede5fdceca6c369b5c05d4 (patch)
tree5e1205b841f6573cb1f9855a3eee02c2f2fc1aa2 /lib/librefuse/refuse.c
parent8d87a172a3e7ef06c9275792ef5e0f29c4af2037 (diff)
write to end-of-file in case of IOAPPEND
Diffstat (limited to 'lib/librefuse/refuse.c')
-rw-r--r--lib/librefuse/refuse.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/librefuse/refuse.c b/lib/librefuse/refuse.c
index f9dad896c3c..2bf014a84d6 100644
--- a/lib/librefuse/refuse.c
+++ b/lib/librefuse/refuse.c
@@ -1,4 +1,4 @@
-/* $NetBSD: refuse.c,v 1.16 2007/02/16 00:13:02 pooka Exp $ */
+/* $NetBSD: refuse.c,v 1.17 2007/02/16 00:16:39 pooka Exp $ */
/*
* Copyright © 2007 Alistair Crooks. All rights reserved.
@@ -30,7 +30,7 @@
#include <sys/cdefs.h>
#if !defined(lint)
-__RCSID("$NetBSD: refuse.c,v 1.16 2007/02/16 00:13:02 pooka Exp $");
+__RCSID("$NetBSD: refuse.c,v 1.17 2007/02/16 00:16:39 pooka Exp $");
#endif /* !lint */
#include <err.h>
@@ -694,6 +694,9 @@ puffs_fuse_node_write(struct puffs_cc *pcc, void *opc, uint8_t *buf,
return ENOSYS;
}
+ if (ioflag & PUFFS_IO_APPEND)
+ offset = pn->pn_va.va_size;
+
ret = (*fuse->op.write)(path, (char *)buf, *resid, offset,
&rn->file_info);