summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix/pvfs_write.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/ntvfs/posix/pvfs_write.c')
-rw-r--r--source4/ntvfs/posix/pvfs_write.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source4/ntvfs/posix/pvfs_write.c b/source4/ntvfs/posix/pvfs_write.c
index c24de08a13..3f6e8d908a 100644
--- a/source4/ntvfs/posix/pvfs_write.c
+++ b/source4/ntvfs/posix/pvfs_write.c
@@ -60,10 +60,18 @@ NTSTATUS pvfs_write(struct ntvfs_module_context *ntvfs,
return status;
}
- ret = pwrite(f->handle->fd,
- wr->writex.in.data,
- wr->writex.in.count,
- wr->writex.in.offset);
+ if (f->handle->name->stream_name) {
+ ret = pvfs_stream_write(pvfs,
+ f->handle,
+ wr->writex.in.data,
+ wr->writex.in.count,
+ wr->writex.in.offset);
+ } else {
+ ret = pwrite(f->handle->fd,
+ wr->writex.in.data,
+ wr->writex.in.count,
+ wr->writex.in.offset);
+ }
if (ret == -1) {
if (errno == EFBIG) {
return NT_STATUS_INVALID_PARAMETER;