Exemplo n.º 1
0
int
dsl_deleg_access(const char *dsname, const char *perm, cred_t *cr)
{
	dsl_dataset_t *ds;
	int error;

	error = dsl_dataset_hold(dsname, FTAG, &ds);
	if (error)
		return (error);

	error = dsl_deleg_access_impl(ds, B_FALSE, perm, cr);
	dsl_dataset_rele(ds, FTAG);

	return (error);
}
Exemplo n.º 2
0
int
dsl_deleg_access(const char *dsname, const char *perm, cred_t *cr)
{
    dsl_pool_t *dp;
    dsl_dataset_t *ds;
    int error;

    error = dsl_pool_hold(dsname, FTAG, &dp);
    if (error != 0)
        return (error);
    error = dsl_dataset_hold(dp, dsname, FTAG, &ds);
    if (error == 0) {
        error = dsl_deleg_access_impl(ds, perm, cr);
        dsl_dataset_rele(ds, FTAG);
    }
    dsl_pool_rele(dp, FTAG);

    return (error);
}