No subject
Tue Dec 2 03:01:20 GMT 2003
the target
partition any more. After removing ACL support from Samba, the copy
process
succeeds and the strace output looks like:
open("touchpad.exe", O_RDWR|O_NONBLOCK|O_CREAT|O_EXCL|O_LARGEFILE, 0744)
= 16
fstat64(16, {st_mode=S_IFREG|0744, st_size=0, ...}) = 0
gettimeofday({987877152, 524404}, NULL) = 0
time(NULL) = 987877152
semop(1075276504, 0x40175210, 1) = 500
write(19, "[2001/04/21 20:19:12, 2] smbd/op"..., 52) = 52
semop(1075276504, 0x40175210, 1) = 500
write(19, " hasch opened file touchpad.exe"..., 64) = 64
shmat(12, 0x65, 0x7) = 0x1
shmat(12, 0x27, 0x7) = 0
shmat(12, 0x81a0ee0, 0x7) = 0x2
shmat(16, 0x10, 0xa) = ?
shmat(16, 0x10, 0x400) = ?
...
I traced this problem down to open_file() in smbd/open.c:
string_set(&fsp->fsp_name,fname);
fsp->wbmpx_ptr = NULL;
fsp->wcp = NULL; /* Write cache pointer. */
DEBUG(2,("%s opened file %s read=%s write=%s (numopen=%d)\n",
*current_user_info.smb_name ? current_user_info.smb_name :
conn->user,fsp->fsp_name,
BOOLSTR(fsp->can_read), BOOLSTR(fsp->can_write),
conn->num_files_open + 1));
/*
* Take care of inherited ACLs on created files. JRA.
*/
if ((flags & O_CREAT) && (conn->vfs_ops.fchmod_acl != NULL)) {
int saved_errno = errno; /* We might get ENOSYS in the next call.. */
X if (conn->vfs_ops.fchmod_acl(fsp, fsp->fd, mode) == -1 && errno ==
ENOSYS)
X errno = saved_errno; /* Ignore ENOSYS */
}
If I remove the "X" marked lines, the problems go away. Maybe Jeremy can
give some insight,
in what may go wrong here.
Greetings... Juergen
More information about the samba-technical
mailing list