VirtualBox

Changeset 30391 in vbox


Ignore:
Timestamp:
Jun 23, 2010 1:09:45 PM (14 years ago)
Author:
vboxsync
Message:

Additions/solaris/SharedFolders: fix panic message, fix getattr and file mode. Fix spaces.

Location:
trunk/src/VBox/Additions/solaris/SharedFolders
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/solaris/SharedFolders/vboxfs_prov.c

    r29147 r30391  
    11/** @file
    22 * VirtualBox File System for Solaris Guests, provider implementation.
     3 * Portions contributed by: Ronald.
    34 */
    45
     
    421422                m |= S_IFREG;
    422423        else if (RTFS_IS_FIFO(info.Attr.fMode))
    423                 m |= S_IFDIR;
     424                m |= S_IFIFO;
    424425        else if (RTFS_IS_DEV_CHAR(info.Attr.fMode))
    425426                m |= S_IFCHR;
     
    451452        if (info.Attr.fMode & RTFS_UNIX_ISUID)
    452453                m |= S_ISUID;
     454        if (info.Attr.fMode & RTFS_UNIX_ISGID)
     455                m |= S_ISGID;
     456        if (info.Attr.fMode & RTFS_UNIX_ISTXT)
     457                m |= S_ISVTX;
    453458        *mode = m;
    454459        return (0);
  • trunk/src/VBox/Additions/solaris/SharedFolders/vboxfs_vnode.c

    r29142 r30391  
    11/** @file
    22 * VirtualBox File System for Solaris Guests, vnode implementation.
     3 * Portions contributed by: Ronald.
    34 */
    45
     
    243244    LogFlowFunc(("sffs_destroy(%s)%s\n", node->sf_path, node->sf_is_stale ? " stale": ""));
    244245        if (node->sf_children != 0)
    245                 panic("sfnode_destroy(%s) has %d children", node->sf_children);
     246                panic("sfnode_destroy(%s) has %d children", node->sf_path, node->sf_children);
    246247        if (node->sf_vnode != NULL)
    247248                panic("sfnode_destroy(%s) has active vnode", node->sf_path);
     
    260261        if (parent != NULL) {
    261262                if (parent->sf_children == 0)
    262                         panic("sfnode_destroy(%s) parent has no child");
     263                        panic("sfnode_destroy(%s) parent has no child", node->sf_path);
    263264                --parent->sf_children;
    264265                if (parent->sf_children == 0 &&
     
    727728                goto done;
    728729        vap->va_mode = mode & MODEMASK;
     730        if (S_ISDIR(mode))
     731                vap->va_type = VDIR;
     732        else if (S_ISREG(mode))
     733                vap->va_type = VREG;
     734        else if (S_ISFIFO(mode))
     735                vap->va_type = VFIFO;
     736        else if (S_ISCHR(mode))
     737                vap->va_type = VCHR;
     738        else if (S_ISBLK(mode))
     739                vap->va_type = VBLK;
     740        else if (S_ISLNK(mode))
     741                vap->va_type = VLNK;
     742        else if (S_ISSOCK(mode))
     743                vap->va_type = VSOCK;
    729744
    730745        error = sfprov_get_size(node->sf_sffs->sf_handle, node->sf_path, &x);
     
    787802                return (EINVAL);
    788803        if (uio->uio_loffset >= MAXOFF_T)
    789                 return (0);
    790         if (uio->uio_loffset < 0)
    791                 return (EINVAL);
    792         total = uio->uio_resid;
    793         if (total == 0)
    794                 return (0);
     804                return (0);
     805        if (uio->uio_loffset < 0)
     806                return (EINVAL);
     807        total = uio->uio_resid;
     808        if (total == 0)
     809                return (0);
    795810
    796811        mutex_enter(&sffs_lock);
     
    867882        if (vp->v_type != VREG || uiop->uio_loffset < 0) {
    868883                mutex_exit(&sffs_lock);
    869                 return (EINVAL);
     884                return (EINVAL);
    870885        }
    871886        if (limit == RLIM64_INFINITY || limit > MAXOFFSET_T)
    872                 limit = MAXOFFSET_T;
     887                limit = MAXOFFSET_T;
    873888        if (limit > MAXOFF_T)
    874                 limit = MAXOFF_T;
     889                limit = MAXOFF_T;
    875890
    876891        if (uiop->uio_loffset >= limit) {
     
    889904        }
    890905
    891 
    892         total = uiop->uio_resid;
    893         if (total == 0) {
     906        total = uiop->uio_resid;
     907        if (total == 0) {
    894908                mutex_exit(&sffs_lock);
    895                 return (0);
     909                return (0);
    896910        }
    897911
     
    900914                bytes = MIN(PAGESIZE, uiop->uio_resid);
    901915                if (offset + bytes >= limit) {
    902                         if (offset >= limit) {
    903                                 error = EFBIG;
    904                                 break;
    905                         }
    906                         bytes = limit - offset;
     916                        if (offset >= limit) {
     917                                error = EFBIG;
     918                                break;
     919                        }
     920                        bytes = limit - offset;
    907921                }
    908922                error = uiomove(sffs_buffer, bytes, UIO_WRITE, uiop);
     
    14081422        vn_invalid(vp);
    14091423        vn_free(vp);
    1410     LogFlowFunc(("  %s vnode cleared\n", node->sf_path));
     1424        LogFlowFunc(("  %s vnode cleared\n", node->sf_path));
    14111425
    14121426        /*
Note: See TracChangeset for help on using the changeset viewer.

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