[PATCH] Start moving lp_posix_pathnames out of utility functions.

Ralph Boehme rb at sernet.de
Sun Dec 13 16:54:08 UTC 2015


On Sat, Dec 12, 2015 at 02:09:17PM -0800, Jeremy Allison wrote:
> On Sat, Dec 12, 2015 at 10:46:01PM +0100, Ralph Boehme wrote:
> > While we're at it, maybe we can start splitting out POSIX pathnames
> > capability out of file_struct.posix_open.FSP_POSIX_FLAGS_OPEN and add
> > FSP_POSIX_FLAGS_PATHNAMES, please see attached patchset.
> > 
> > Btw, it seems we somehow messed up the POSIX rename patchset and now
> > open_file_ntcreate() doesn't set FSP_POSIX_FLAGS_RENAME when
> > posix_open is true. I'll take a closer look tomorrow.

ah, I confused that with the same check we do in open_directory().

> Wouldn't that be fixed by changing your patch to be:
> 
> --- a/source3/smbd/open.c
> +++ b/source3/smbd/open.c
> @@ -2703,7 +2703,9 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
>  	fsp->access_mask = open_access_mask; /* We change this to the
>  					      * requested access_mask after
>  					      * the open is done. */
> -	fsp->posix_flags |= posix_open ? FSP_POSIX_FLAGS_OPEN : 0;
> +	if (posix_open) {
> +		fsp->posix_flags |= FSP_POSIX_FLAGS_ALL;
> +	}
>  
>  	if (timeval_is_zero(&request_time)) {
>  		request_time = fsp->open_time;

yes, I guess we should set FSP_POSIX_FLAGS_ALL here as well, as we do
in open_directory().

> As I think doing a POSIX open should set all posix flags
> on the fsp (at least for now).

yes, for now. For SMB3 UNIX extension at least POSIX pathname
behaviour must be negotiable seperately (for OS X clients that may want
general POSIX behaviour *and* named streams, no no POSIX pathnames).

-Ralph

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de,mailto:kontakt@sernet.de



More information about the samba-technical mailing list