Uncovered while testing changes for bug 7921. samba3.posix_s3.rpc.spoolss.driver fails with the xattr_tdb vfs module loaded as a part of make test. The (now checked) create_directory() call in move_driver_to_download_area() fails, uncovering another bug in the printer driver upload code path. move_driver_to_download_area() creates a new conn_struct for manipulating files in [print$]. The VFS layer is plumbed through with the call to create_conn_struct(), however SMB_VFS_CONNECT() is never called. Many vfs modules expect state stored at connect time with SMB_VFS_HANDLE_SET_DATA() to be available on any IO operation and fail if this is not the case. A possible fix is to call SMB_VFS_CONNECT() following create_conn_struct() in move_driver_to_download_area().
Fix "s3-printing: vfs_connect prior to driver/dfs IO" committed to master: 016a8d214ab23883e9d50c46d3a8cc18f9454368 and v3-6-test: 529291bb20db44b9a253ee0183fc40abf6b2fc6c