Lines Matching refs:we
28 However, if we scale the filesystem up to 1PB, we now have 10x as much metadata
40 magic number in the metadata block, we have no other way of identifying what it
53 Hence we need to record more information into the metadata to allow us to
55 of analysis. We can't protect against every possible type of error, but we can
62 hence parse and verify the metadata object. IF we can't independently identify
68 magic numbers. Hence we can change the on-disk format of all these objects to
72 self identifying and we can do much more expansive automated verification of the
76 integrity checking. We cannot trust the metadata if we cannot verify that it has
77 not been changed as a result of external influences. Hence we need some form of
79 block. If we can verify the block contains the metadata it was intended to
104 determine the scope of the corruption. For example, if we have a extent btree
105 object, we don't know what inode it belongs to and hence have to walk the entire
108 in the metadata we have no idea of the scope of the corruption. If we have an
109 owner field in the metadata object, we can immediately do top down validation to
115 contents of the owner field are determined by the type of metadata object we are
127 For example, we can determine whether a metadata object is supposed to be free
138 the LSN we can tell if the corrupted metadata all belonged to the same log
155 As such, we cannot catch all types of corruption that can occur within a block
158 sibling pointer lists). Hence we still need stateful checking in the main code
167 verification error it can do so by catching the EFSCORRUPTED error value. If we
168 need more discrimination of error type at higher levels, we can define new
179 is extensively verified and if it is OK we then update the LSN from the last
180 modification made to the object, After this, we calculate the CRC and insert it
320 This will verify the internal structure of the metadata before we go any
322 modified in memory. If the metadata verifies OK, and CRCs are enabled, we then
324 metadata. Once this is done, we can issue the IO.
331 buffer. Hence we do not use per-buffer verifiers to do the work of per-object