Subject: Re: I disagree
First off, I’m sorry we disagree on this point, but…I guess we’ll have to agree to disagree.
Secondly, I don’t think we have the information you are looking for. At the object level, the attachment is either inline, or it’s a ticket. If the same attachment is ‘stored’ in 5 objects throughout the NSF file, each of the 5 will have a ticket that refers to the same single NLO file. No ticket has knowledge about the existence (or not) of any similar tickets in the same NSF file, or in any of the other NSF files on the server. All the ticket tells you is that the NLO was last seen in subdirectory nnnn, and the key (NLO name) is kkkk. That’s it.
At the system level, the daoscat.nsf does keep track of how many tickets refer to any given NLO file, but we do not keep backpointers to the individual referencing tickets, or even to what NSF file they were referenced in. All that is stored in daoscat for a particular NLO is the key, and the count.
Why don’t we keep track of more? It’s expensive. Part of the savings of DAOS is just raw disk space, but it also reduces I/O…savings which would be more than consumed with bookkeeping I/O if we maintained more info.
At best, given an object ID, you could find the total number of references in the system to that same key. Finding out how many references there are to a specific key (NLO) in a given NSF would require traversing all of the objects in the NSF file to count occurrences in response to each request. That gets real expensive real fast.
As far as the quota info, I believe there was a bug in the 8.50 that was corrected in 8.51 to yield the same answer (logical size) for both DAOS and non-DAOS NSF files. I know we made some changes there, I’d have to double check what the impact was. We’re considering enhancements to the quota system to allow for different ways of space accounting for attachments stored in DAOS vs inline, but I can’t make any promises or give details, as that hasn’t been worked out yet.
Lastly, DAOS participation info isn’t published yet, and I’d advise against peeking ahead. The DAOS participation flag only controls the disposition of new additions to the NSF. An NSF file can definitely have the DAOS participation flag OFF and still contain valid DAOS tickets. All you have to do is a ‘compact -daos off’ on an NSF file that contains DAOS references. Unless you do a compact -c, all of the previously created tickets will still remain…and will continue to be serviced by DAOS.