struct stream_io *io = (struct stream_io *)
VFS_FETCH_FSP_EXTENSION(handle, fsp);
+ DEBUG(10, ("streams_xattr_fstat called for %d\n", fsp->fh->fd));
+
if (io == NULL) {
return SMB_VFS_NEXT_FSTAT(handle, fsp, sbuf);
}
return -1;
}
+ DEBUG(10, ("sbuf->st_size = %d\n", (int)sbuf->st_size));
+
sbuf->st_ino = stream_inode(sbuf, io->xattr_name);
sbuf->st_mode &= ~S_IFMT;
sbuf->st_mode |= S_IFREG;
int baseflags;
int hostfd = -1;
+ DEBUG(10, ("streams_xattr_open called for %s\n", fname));
+
if (!is_ntfs_stream_name(fname)) {
return SMB_VFS_NEXT_OPEN(handle, fname, fsp, flags, mode);
}
status = get_ea_value(talloc_tos(), handle->conn, fsp, base,
xattr_name, &ea);
+ DEBUG(10, ("get_ea_value returned %s\n", nt_errstr(status)));
+
if (!NT_STATUS_IS_OK(status)
&& !NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) {
/*
* O_CREAT, the higher levels should have created the base
* file for us.
*/
+ DEBUG(10, ("streams_xattr_open: base file %s not around, "
+ "returning ENOENT\n", base));
errno = ENOENT;
goto fail;
}
NTSTATUS status;
int ret;
+ DEBUG(10, ("streams_xattr_pwrite called for %d bytes\n", (int)n));
+
if (sio == NULL) {
return SMB_VFS_NEXT_PWRITE(handle, fsp, data, n, offset);
}
ssize_t result = -1;
NTSTATUS status;
+ DEBUG(10, ("xattr_tdb_getattr called for file %s, name %s\n",
+ file_id_string_tos(id), name));
+
status = xattr_tdb_load_attrs(talloc_tos(), db_ctx, id, &attribs);
if (!NT_STATUS_IS_OK(status)) {
struct tdb_xattrs *attribs;
uint32_t i;
+ DEBUG(10, ("xattr_tdb_setattr called for file %s, name %s\n",
+ file_id_string_tos(id), name));
+
rec = xattr_tdb_lock_attrs(talloc_tos(), db_ctx, id);
if (rec == NULL) {