Exemple #1
0
/*
Note: This is advisory -- it might benefit us to keep file nodes around for a
bit after they are released just in case they are reopened soon.  But that
requires a cache layer.
 */
int encfs_release(const char *path, struct fuse_file_info *finfo) {
  EncFS_Context *ctx = context();

  try {
    ctx->eraseNode(path, reinterpret_cast<FileNode *>(finfo->fh));
    return ESUCCESS;
  } catch (encfs::Error &err) {
    RLOG(ERROR) << "error caught in release: " << err.what();
    return -EIO;
  }
}
Exemple #2
0
/*
Note: This is advisory -- it might benefit us to keep file nodes around for a
bit after they are released just in case they are reopened soon.  But that
requires a cache layer.
 */
int encfs_release(const char *path, struct fuse_file_info *finfo)
{
  EncFS_Context *ctx = context();

  try
  {
    ctx->eraseNode( path, (void*)(uintptr_t)finfo->fh );
    return ESUCCESS;
  } catch( Error &err )
  {
    LOG(ERROR) << "error caught in release: " << err.what();
    return -EIO;
  }
}
Exemple #3
0
/*
Note: This is advisory -- it might benefit us to keep file nodes around for a
bit after they are released just in case they are reopened soon.  But that
requires a cache layer.
 */
int encfs_release(const char *path, struct fuse_file_info *finfo)
{
    EncFS_Context *ctx = context();

    try
    {
	ctx->eraseNode( path, (void*)(uintptr_t)finfo->fh );
	return ESUCCESS;
    } catch( rlog::Error &err )
    {
	rError("error caught in release");
	err.log( _RLWarningChannel );
	return -EIO;
    }
}