Displaying 4 results from an estimated 4 matches for "smb_dname".
Did you mean:
nmb_name
2016 Mar 09
0
mkdir-dup test flapping
...gh the issue and proposed code
*really* carefully :-). The open code can
be really tricky (as you've already found).
Thanks !
Jeremy.
> The issue appears to be in this call:
>
> 3638 /* Ensure there was no race condition. */
> 3639 if (!check_same_stat(&smb_dname->st, &fsp->fsp_name->st)) {
> 3640 samba_start_debugger();
> 3641 DEBUG(5,("open_directory: stat struct differs for "
> 3642 "directory %s.\n",
> 3643 smb_fname_s...
2016 Mar 09
4
mkdir-dup test flapping
...ndrew seemed to understand and wrote
the attached patch.
>
> We got the logs by forcing smbd to run with -d10 by patching
> file_server/fileserver.c.
The issue appears to be in this call:
3638 /* Ensure there was no race condition. */
3639 if (!check_same_stat(&smb_dname->st, &fsp->fsp_name->st)) {
3640 samba_start_debugger();
3641 DEBUG(5,("open_directory: stat struct differs for "
3642 "directory %s.\n",
3643 smb_fname_str_dbg(smb_dname)));...
2016 Mar 09
0
mkdir-dup test flapping
...we should just continue.
>
> On the basis that the owner change is not significant, we reworked the
> code to do the lstat() after the fstat(), and not compare the owner.
Fix is really close, but still needs a little work -
the call to:
fsp->file_id = vfs_file_id_from_sbuf(conn, &smb_dname->st);
needs to be moved too (as in the race condition
when need_lstat is true smb_dname->st isn't correctly
initialized yet), or the lstat needs to be done both
before and after. Doing the lstat twice might be
safer as I'll need to check what uses fsp->file_id
to ensure moving to...
2013 Jan 24
0
64 Bit Build 3.6.11 on AIX 6 with acls enabled dumps core,
...sc = 0x09001000a00800b8), line 1754 in
"vfs.c"
smbd_check_open_rights(conn = 0x0000000110155aa0, smb_fname =
0x000000011015c290, access_mask = 16777216, access_granted =
0x0010008000100080), line 115 in "open.c"
open_directory(conn = 0x0000000110155aa0, req = 0x000000011015c140,
smb_dname = 0x000000011015c290, access_mask = 1048704, share_access = 0,
create_disposition = 1, create_options = 8388609, file_attributes = 16,
pinfo = 0x0fffffffffffd3e0, result = 0x0fffffffffffd3f0), line 2706 in
"open.c"
create_file_unixpath(conn = 0x0fffffffffffd590, req = 0x000000011014b680,...