VirtualBox

Ticket #6512: vbox.sf.sol.create.patch

File vbox.sf.sol.create.patch, 1.2 KB (added by foobar42, 14 years ago)

Honor the requested file mode when creating files.

  • src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c

    diff a/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c b/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c
    a b sffs_create(  
    11811181         * Doesn't exist yet and we have the lock, so create it.
    11821182         */
    11831183        node = sfnode_lookup(VN2SFN(dvp), name, VREG);
     1184        if (node && (vap->va_mask & AT_MODE)) {
     1185                timestruc_t dummy;
     1186                error = sfprov_set_attr(node->sf_sffs->sf_handle, node->sf_path,
     1187                                        AT_MODE, vap->va_mode, dummy, dummy,
     1188                                        dummy);
     1189                if (error)
     1190                        cmn_err(CE_WARN, "sffs_create: set_mode(%s, %o) failed"
     1191                                " rc=%d", node->sf_path, vap->va_mode, error);
     1192        }
     1193
    11841194        mutex_exit(&sffs_lock);
    11851195        if (node == NULL)
    11861196                return (EINVAL);
    sffs_mkdir(  
    12341244        }
    12351245
    12361246        node = sfnode_lookup(VN2SFN(dvp), nm, VDIR);
     1247        if (node && (va->va_mask & AT_MODE)) {
     1248                timestruc_t dummy;
     1249                error = sfprov_set_attr(node->sf_sffs->sf_handle, node->sf_path,
     1250                                        AT_MODE, va->va_mode, dummy, dummy,
     1251                                        dummy);
     1252                if (error)
     1253                        cmn_err(CE_WARN, "sffs_mkdir: set_mode(%s, %o) failed"
     1254                                " rc=%d", node->sf_path, va->va_mode, error);
     1255        }
     1256
    12371257        mutex_exit(&sffs_lock);
    12381258        if (node == NULL)
    12391259                return (EACCES);

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy