Dear all, I have some problems with zfs implementation issues: I do not really understand what is a DSL directory (I though is was kind of structure listing all datasets + properties..) and what is the unique "Active Dataset" within a DSL directory? To make it clearer , let''s say that I have a pool named mypool with two FSs fs1 & fs2 , each of them with several clones/snapshots, what will be the relatec DSL directory(ies?) and corresponding active datasets? According http://opensolaris.org/os/community/zfs/docs/ondiskformat0822.pdf , the following path has to be taken to reach a file from uberblock uberblock->MOS->root_dataset->DSL object directory -> DSL (active one as I understand) ->FS->...->file How to get to a non active dataset ? DSL object directory links to DSL through dd_head_dataset_object , i do not see any other possible links in dsl_dir_phys structure? I think that those 2 questions are 2 different faces of the same coin. Cheers C Rouhassia ************************************************************************* This message and any attachments (the "message") are confidential, intended solely for the addressee(s), and may contain legally privileged information. Any unauthorised use or dissemination is prohibited. E-mails are susceptible to alteration. Neither SOCIETE GENERALE nor any of its subsidiaries or affiliates shall be liable for the message if altered, changed or falsified. ************ Ce message et toutes les pieces jointes (ci-apres le "message") sont confidentiels et susceptibles de contenir des informations couvertes par le secret professionnel. Ce message est etabli a l''intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisee est interdite. Tout message electronique est susceptible d''alteration. La SOCIETE GENERALE et ses filiales declinent toute responsabilite au titre de ce message s''il a ete altere, deforme ou falsifie. ************************************************************************* -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/zfs-code/attachments/20081024/937a801e/attachment.html>
Cyril ROUHASSIA wrote:> > Dear all, > I have some problems with zfs implementation issues: > > * I do not really understand what is a DSL directory (I though is > was kind of structure listing all datasets + properties..) and > what is the unique "Active Dataset" within a DSL directory?Yes, the DSL directory (dsl_dir_[phys_]t structures) keeps track of the naming hierarchy of datasets (eg, the fact that under "pool" there are filesytems "fs1" and "fs2" -- in dd_child_dir_zapobj). It also keeps track of properties that use the generic dsl_prop_* infrastructure (in dd_props_zapobj), quota and reservation, and space usage information (aggregating space used by children as well). You can find more details in the structure definitions in dsl_dir.h. The "active dataset" means the non-snapshot dataset, which can be modified. It is dd_head_dataset_obj. The active dataset (synonymous with head dataset) has the list of snapshots (ds_snapnames_zapobj). Note that a clone is not really different than any other filesystem from the dsl_dataset point of view (actually, it is barely different from any implementation point of view). Eg, a clone has a head/active dataset and may have snapshots, children datasets, etc. Hope that helps. --matt> ************************************************************************* > This message and any attachments (the "message") are confidential, intended solely for the addressee(s), and may contain legally privileged information.Then maybe you shouldn''t be posting it on a public mailing list :-\