All of lore.kernel.org
 help / color / mirror / Atom feed
* Object consistent when EC overwrite rollback happen?
@ 2017-03-03 11:08 Wangwenfeng
  2017-03-10 21:24 ` Gregory Farnum
  0 siblings, 1 reply; 3+ messages in thread
From: Wangwenfeng @ 2017-03-03 11:08 UTC (permalink / raw)
  To: ceph-devel

Hi, all
  I have a trouble with in EC overwrite. In the function ‘generate_transactions’, using the clone_range to prepare the rollback data of EC overwrite. The clone_range is clone NO_GEN data to version data, and the new date will write after it.
If a transaction contain the clone_range and write, and it has submit to journal, now is applying to data disk.
If the Host power off suddenly, the transaction has apply to data, but the journal not know this. When the Host power on, maybe journal will replay the transaction which contain clone_range and write date to data disk. If this happen, the second clone_range’ data is error, it is the write data.
The rollback to the object will cause the data error.
Would you explain this will happen or not? And the rollback to object will cause the data error or not?
-------------------------------------------------------------------------------------------------------------------------------------
本邮件及其附件含有杭州华三通信技术有限公司的保密信息,仅限于发送给上面地址中列出
的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、
或散发)本邮件中的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本
邮件!
This e-mail and its attachments contain confidential information from H3C, which is
intended only for the person or entity whose address is listed above. Any use of the
information contained herein in any way (including, but not limited to, total or partial
disclosure, reproduction, or dissemination) by persons other than the intended
recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender
by phone or email immediately and delete it!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Object consistent when EC overwrite rollback happen?
  2017-03-03 11:08 Object consistent when EC overwrite rollback happen? Wangwenfeng
@ 2017-03-10 21:24 ` Gregory Farnum
  2017-03-15  8:09   ` Tianshan Qu
  0 siblings, 1 reply; 3+ messages in thread
From: Gregory Farnum @ 2017-03-10 21:24 UTC (permalink / raw)
  To: Wangwenfeng; +Cc: ceph-devel

On Fri, Mar 3, 2017 at 3:08 AM, Wangwenfeng <wang.wenfeng@h3c.com> wrote:
> Hi, all
>   I have a trouble with in EC overwrite. In the function ‘generate_transactions’, using the clone_range to prepare the rollback data of EC overwrite. The clone_range is clone NO_GEN data to version data, and the new date will write after it.
> If a transaction contain the clone_range and write, and it has submit to journal, now is applying to data disk.
> If the Host power off suddenly, the transaction has apply to data, but the journal not know this. When the Host power on, maybe journal will replay the transaction which contain clone_range and write date to data disk. If this happen, the second clone_range’ data is error, it is the write data.
> The rollback to the object will cause the data error.
> Would you explain this will happen or not? And the rollback to object will cause the data error or not?

I don't understand the problem you're describing. If we replay the
journal, it will clone_range from the original (i.e., untouched) data
and just redo all the work. Where does cloning the wrong thing come
in?
(You can come up with more complicated scenarios that involve
overwriting the data we originally cloned from, but that is all
protected by versions we store in the filesystem that let us detect
these scenarios and account for them.)
-Greg

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Object consistent when EC overwrite rollback happen?
  2017-03-10 21:24 ` Gregory Farnum
@ 2017-03-15  8:09   ` Tianshan Qu
  0 siblings, 0 replies; 3+ messages in thread
From: Tianshan Qu @ 2017-03-15  8:09 UTC (permalink / raw)
  To: Wangwenfeng; +Cc: ceph-devel

I may get your point, and answer is replay guard ensure clone_range
not do again, so this problem will not happen.

2017-03-11 5:24 GMT+08:00 Gregory Farnum <gfarnum@redhat.com>:
> On Fri, Mar 3, 2017 at 3:08 AM, Wangwenfeng <wang.wenfeng@h3c.com> wrote:
>> Hi, all
>>   I have a trouble with in EC overwrite. In the function ‘generate_transactions’, using the clone_range to prepare the rollback data of EC overwrite. The clone_range is clone NO_GEN data to version data, and the new date will write after it.
>> If a transaction contain the clone_range and write, and it has submit to journal, now is applying to data disk.
>> If the Host power off suddenly, the transaction has apply to data, but the journal not know this. When the Host power on, maybe journal will replay the transaction which contain clone_range and write date to data disk. If this happen, the second clone_range’ data is error, it is the write data.
>> The rollback to the object will cause the data error.
>> Would you explain this will happen or not? And the rollback to object will cause the data error or not?
>
> I don't understand the problem you're describing. If we replay the
> journal, it will clone_range from the original (i.e., untouched) data
> and just redo all the work. Where does cloning the wrong thing come
> in?
> (You can come up with more complicated scenarios that involve
> overwriting the data we originally cloned from, but that is all
> protected by versions we store in the filesystem that let us detect
> these scenarios and account for them.)
> -Greg
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-03-15  8:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-03 11:08 Object consistent when EC overwrite rollback happen? Wangwenfeng
2017-03-10 21:24 ` Gregory Farnum
2017-03-15  8:09   ` Tianshan Qu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.