VirtualBox

Changeset 77533 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Mar 1, 2019 2:49:51 PM (6 years ago)
Author:
vboxsync
Message:

linux/vboxsf: More cleanups. [build fix] bugref:9172

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/sharedfolders/vfsmod.h

    r77532 r77533  
    169169/** @} */
    170170
    171 extern void              vbsf_handle_drop_chain(struct vbsf_inode_info *pInodeInfo);
    172 extern struct sf_handle *vbsf_handle_find(struct vbsf_inode_info *pInodeInfo, uint32_t fFlagsSet, uint32_t fFlagsClear);
    173 extern uint32_t          vbsf_handle_release_slow(struct sf_handle *pHandle, struct vbsf_super_info *sf_g, const char *pszCaller);
    174 extern void              vbsf_handle_append(struct vbsf_inode_info *pInodeInfo, struct sf_handle *pHandle);
    175 
    176171
    177172/**
     
    228223
    229224
     225extern void              vbsf_handle_drop_chain(struct vbsf_inode_info *pInodeInfo);
     226extern struct sf_handle *vbsf_handle_find(struct vbsf_inode_info *pInodeInfo, uint32_t fFlagsSet, uint32_t fFlagsClear);
     227extern uint32_t          vbsf_handle_release_slow(struct sf_handle *pHandle, struct vbsf_super_info *sf_g, const char *pszCaller);
     228extern void              vbsf_handle_append(struct vbsf_inode_info *pInodeInfo, struct sf_handle *pHandle);
     229
     230/**
     231 * Releases a handle.
     232 *
     233 * @returns New reference count.
     234 * @param   pHandle         The handle to release.
     235 * @param   sf_g            The info structure for the shared folder associated
     236 *                          with the handle.
     237 * @param   pszCaller       The caller name (for logging failures).
     238 */
     239DECLINLINE(uint32_t) vbsf_handle_release(struct sf_handle *pHandle, struct vbsf_super_info *sf_g, const char *pszCaller)
     240{
     241    uint32_t cRefs;
     242
     243    Assert((pHandle->fFlags & SF_HANDLE_F_MAGIC_MASK) == SF_HANDLE_F_MAGIC);
     244    Assert(pHandle->pInodeInfo);
     245    Assert(pHandle->pInodeInfo && pHandle->pInodeInfo->u32Magic == SF_INODE_INFO_MAGIC);
     246
     247    cRefs = ASMAtomicDecU32(&pHandle->cRefs);
     248    Assert(cRefs < _64M);
     249    if (cRefs)
     250        return cRefs;
     251    return vbsf_handle_release_slow(pHandle, sf_g, pszCaller);
     252}
     253
     254
    230255/**
    231256 * VBox specific information for a regular file.
     
    256281extern int  vbsf_dir_read_all(struct vbsf_super_info *sf_g, struct vbsf_inode_info *sf_i,
    257282                              struct vbsf_dir_info *sf_d, SHFLHANDLE handle);
    258 
    259 /**
    260  * Releases a handle.
    261  *
    262  * @returns New reference count.
    263  * @param   pHandle         The handle to release.
    264  * @param   sf_g            The info structure for the shared folder associated
    265  *                          with the handle.
    266  * @param   pszCaller       The caller name (for logging failures).
    267  */
    268 DECLINLINE(uint32_t) vbsf_handle_release(struct sf_handle *pHandle, struct vbsf_super_info *sf_g, const char *pszCaller)
    269 {
    270     uint32_t cRefs;
    271 
    272     Assert((pHandle->fFlags & SF_HANDLE_F_MAGIC_MASK) == SF_HANDLE_F_MAGIC);
    273     Assert(pHandle->pInodeInfo);
    274     Assert(pHandle->pInodeInfo && pHandle->pInodeInfo->u32Magic == SF_INODE_INFO_MAGIC);
    275 
    276     cRefs = ASMAtomicDecU32(&pHandle->cRefs);
    277     Assert(cRefs < _64M);
    278     if (cRefs)
    279         return cRefs;
    280     return vbsf_handle_release_slow(pHandle, sf_g, pszCaller);
    281 }
    282283
    283284
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