Paul B. Henson via illumos-zfs
2014-08-14 20:48:22 UTC
We are still trying to figure out the best way to deal with the interaction
between the replication system we are working on (which uses zfs holds to
mark which snapshots it is currently using), and our management application,
which would like to be able to delete zfs filesystems (which fails if there
are any held snapshots). While it is easy enough to enumerate and remove any
holds, currently there is the possibility that another one might be placed
after the existing ones were removed and before the file system is actually
deleted.
One suggestion my colleague made was to remove permissions from the
replication service account so it would not be able to place a hold on the
file system about to be deleted. However, unless I am misunderstanding zfs
management permissions, there is no way to deny a privilege on a filesystem
(say export/user/bob) that is allowed and inherited from a higher one (say
export)? So, unless we explicitly enumerated the permissions on each
individual filesystem rather than allow them to be inherited, I don't think
this approach would work.
Thanks.
between the replication system we are working on (which uses zfs holds to
mark which snapshots it is currently using), and our management application,
which would like to be able to delete zfs filesystems (which fails if there
are any held snapshots). While it is easy enough to enumerate and remove any
holds, currently there is the possibility that another one might be placed
after the existing ones were removed and before the file system is actually
deleted.
One suggestion my colleague made was to remove permissions from the
replication service account so it would not be able to place a hold on the
file system about to be deleted. However, unless I am misunderstanding zfs
management permissions, there is no way to deny a privilege on a filesystem
(say export/user/bob) that is allowed and inherited from a higher one (say
export)? So, unless we explicitly enumerated the permissions on each
individual filesystem rather than allow them to be inherited, I don't think
this approach would work.
Thanks.