VirtualBox

Changeset 4808 in vbox for trunk/src/VBox/Additions/linux


Ignore:
Timestamp:
Sep 14, 2007 4:18:20 PM (17 years ago)
Author:
vboxsync
Message:

Added an RTErrnoConvertFromErr function to simplify error management inside the Linux Additions kernel modules

Location:
trunk/src/VBox/Additions/linux
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/Makefile.kmk

    r4709 r4808  
    4646# folders kernel modules.
    4747$(PATH_BIN)/additions/VBoxLinuxAdditions.run: \
    48                 $(INSTARGET_vboxmod-bin) \
     48                $(PATH_OBJ)/src/VBox/Additions/linux/module/vboxadd/vboxadd$(TEMPLATE_VBOXLNX32GUESTR0_SYSSUFF) \
     49                $(PATH_OBJ)/src/VBox/Additions/linux/sharedfolders/vboxvfs/vboxvfs$(TEMPLATE_VBOXLNX32GUESTR0_SYSSUFF) \
    4950                $(PATH_BIN)/additions/vboxadd-timesync \
    5051                $(PATH_BIN)/additions/vboxadd-xclient \
  • trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module

    r4739 r4808  
    3131        r0drv/linux/alloc-r0drv-linux.o \
    3232        r0drv/linux/semaphore-r0drv-linux.o \
     33        RTErrnoConvertFromErr.o \
    3334        divdi3.o \
    3435        moddi3.o \
  • trunk/src/VBox/Additions/linux/sharedfolders/dirops.c

    r4796 r4808  
    491491                LogFunc(("(%d): vboxCallRemove(%s) failed rc=%Vrc\n", dirop,
    492492                         path->String.utf8, rc));
    493 
    494                 switch (rc) {
    495                         case VERR_PATH_NOT_FOUND:
    496                                 err = -ENOENT;
    497                                 break;
    498 
    499                         case VERR_DIR_NOT_EMPTY:
    500                                 err = -ENOTEMPTY;
    501                                 break;
    502 
    503                         default:
    504                                 err = -EPROTO;
    505                                 LogFunc(("(%d): vboxCallRemove(%s) failed rc=%Vrc\n", dirop,
    506                                          path->String.utf8, rc));
    507                                 break;
    508                 }
     493                         err = -RTErrnoConvertFromErr(rc);
    509494                goto fail1;
    510495        }
     
    576561                        } else {
    577562                                LogFunc(("vboxCallRename failed rc=%Vrc\n", rc));
    578                                 switch (rc) {
    579                                 /** @todo we need a function to convert VBox error
    580                                     codes back to Linux. */
    581                                 case VERR_ACCESS_DENIED:
    582                                         err = -EACCES;
    583                                         break;
    584                                 case VERR_DEV_IO_ERROR:
    585                                         err = -EBUSY;
    586                                         break;
    587                                 case VERR_INVALID_POINTER:
    588                                         err = -EFAULT;
    589                                         break;
    590                                 case VERR_FILE_NOT_FOUND:
    591                                 case VERR_PATH_NOT_FOUND:
    592                                         err = -ENOENT;
    593                                         break;
    594                                 default:
    595                                         err = -EPROTO;
    596                                 }
     563                                err = -RTErrnoConvertFromErr(err);
    597564                        }
    598565                        if (0 != err) {
  • trunk/src/VBox/Additions/linux/sharedfolders/files_vboxvfs

    r4729 r4808  
    6464    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/string.h=>r0drv/linux/string.h \
    6565    ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \
     66    ${PATH_ROOT}/src/VBox/Runtime/RTErrnoConvertFromErr.cpp=>RTErrnoConvertFromErr.c \
    6667    ${PATH_ROOT}/src/VBox/Additions/linux/sharedfolders/Makefile.module=>Makefile \
    6768    ${PATH_ROOT}/src/VBox/Additions/linux/sharedfolders/dirops.c=>dirops.c \
  • trunk/src/VBox/Additions/linux/sharedfolders/utils.c

    r4735 r4808  
    569569
    570570                        default:
    571                                 err = -EPROTO;
     571                                err = -RTErrnoConvertFromErr(rc);
    572572                                LogFunc(("vboxCallDirInfo failed rc=%Vrc\n", rc));
    573573                                goto fail1;
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