Under what circumstances would the BP_IDENTITY of zio->io_bp not equal the BP_IDENTITY of zio->io_orig_bp? Duff -- This messages posted from opensolaris.org
J Duff wrote:> Under what circumstances would the BP_IDENTITY of zio->io_bp not equal the BP_IDENTITY of zio->io_orig_bp? > > Duff > -- > This messages posted from opensolaris.org > _______________________________________________ > zfs-code mailing list > zfs-code at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-code >Duff, One case is when we''ve performed a write-retry. During the process of retrying we will allocate a new io_bp but the io_bp_orig will still point to the original. Thanks, George
Thanks for the information regarding write-retries. Can the two BP_IDENTITIES also be unequal in the case of a file overwrite? It looks as if overwriting a file with another file can somehow cause the zio_t to be reused. Perhaps this occurs only if the overwrite happens before the file''s first contents are flushed from the cache. It seems that in the process of reusing the zio_t, the BP_IDENTITY of io_bp_orig (perhaps the original file contents), does not match the BP_IDENTITY of io_bp (perhaps the new file contents). Is the scenario I mention above possible, or do I misunderstand the code? Duff -- This messages posted from opensolaris.org