/* afs_put_super * Called from unmount to release super_block. */ static void afs_put_super(struct super_block *sbp) { AFS_GLOCK(); AFS_STATCNT(afs_unmount); if (!suser()) { AFS_GUNLOCK(); return; } afs_globalVFS = 0; afs_globalVp = 0; osi_linux_free_inode_pages(); /* invalidate and release remaining AFS inodes. */ afs_shutdown(); #if defined(AFS_LINUX24_ENV) mntput(afs_cacheMnt); #endif osi_linux_verify_alloced_memory(); AFS_GUNLOCK(); sbp->s_dev = 0; MOD_DEC_USE_COUNT; }
/* afs_put_super * Called from unmount to release super_block. */ static void afs_put_super(struct super_block *sbp) { AFS_GLOCK(); AFS_STATCNT(afs_unmount); if (!suser()) { AFS_GUNLOCK(); return; } afs_globalVFS = 0; afs_globalVp = 0; afs_shutdown(); #if defined(AFS_LINUX24_ENV) mntput(afs_cacheMnt); #endif osi_linux_verify_alloced_memory(); AFS_GUNLOCK(); sbp->s_dev = 0; MOD_DEC_USE_COUNT; }
/* afs_put_super * Called from unmount to release super_block. */ static void afs_put_super(struct super_block *sbp) { AFS_GLOCK(); AFS_STATCNT(afs_unmount); afs_globalVFS = 0; afs_globalVp = 0; afs_shutdown(); mntput(afs_cacheMnt); osi_linux_verify_alloced_memory(); #if defined(HAVE_LINUX_BDI_INIT) bdi_destroy(afs_backing_dev_info); #endif kfree(afs_backing_dev_info); AFS_GUNLOCK(); sbp->s_dev = 0; module_put(THIS_MODULE); }
/* afs_put_super * Called from unmount to release super_block. */ static void afs_put_super(struct super_block *sbp) { AFS_GLOCK(); AFS_STATCNT(afs_unmount); afs_globalVFS = 0; afs_globalVp = 0; osi_linux_free_inode_pages(); /* invalidate and release remaining AFS inodes. */ afs_shutdown(); mntput(afs_cacheMnt); osi_linux_verify_alloced_memory(); #if defined(HAVE_LINUX_BDI_INIT) bdi_destroy(afs_backing_dev_info); #endif osi_Free(afs_backing_dev_info, sizeof(struct backing_dev_info)); AFS_GUNLOCK(); sbp->s_dev = 0; module_put(THIS_MODULE); }