/** * @brief Release a DS handle * * @param[in] ds_pub The object to release */ static void ds_release(struct fsal_ds_handle *const ds_pub) { /* The private 'full' DS handle */ struct gpfs_ds *ds = container_of(ds_pub, struct gpfs_ds, ds); fsal_ds_handle_fini(&ds->ds); gsh_free(ds); }
/** * @brief Release a DS object * * @param[in] obj_pub The object to release * * @return NFS Status codes. */ static void release(struct fsal_ds_handle *const ds_pub) { int rc = 0; struct glfs_ds_handle *ds = container_of(ds_pub, struct glfs_ds_handle, ds); fsal_ds_handle_fini(&ds->ds); if (ds->glhandle) { rc = glfs_h_close(ds->glhandle); if (rc) { LogMajor(COMPONENT_PNFS, "glfs_h_close returned error %s(%d)", strerror(errno), errno); } } gsh_free(ds); }