Re: Why prezero?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 23, 2018 at 11:30 PM, Xuehan Xu <xxhdx1985126@xxxxxxxxx> wrote:
> Hi, everyone.
>
> What's the purpose of journaler's prezero? It seems that it is a means
> of setting the edge of continuously written journal entries which is
> the end of journal replaying, right?
> If this is true, why isn't checksum used? I think checksum can achieve
> the same goal as the journal entry that fails the verification can
> serve as the end of journal replaying, and it wouldn't involve extra
> I/O.

The MDS/Journaler can have multiple pending IOs. Imagine:
* pending write to object 100.000
* completes write to object 100.001
* MDS crashes
* pending writes fail
* new MDS restarts and fills in object 100.000
* new MDS crashes
* yet another MDS replays, discovers journal ends in 100.001, but the
entry is malformed and so it crashes.

That's why it originally existed. I think the malformed entries may
matter less with the new journal format, but you still have to worry
about running into a journal entry that never really happened (because
we lost the op events leading up to it).
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux