Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Goldwyn Rodrigues


On 10/14/2015 09:54 PM, Zhangguanghui wrote:
> Thanks for reply, just like what Goldwyn said, there is a critical
> result for such a simple process.
> It has encountered EROFS all the time while calling ocfs2_start_trans,
> even if the storage is back to normal.
> I 'm trying  to make some
> other changes and don't know if the error is still being shown.
> Any feedback or suggestionabout this process (positive or negative)
> would be greatly appreciated.
> thanks again
>

Have you tried fsck.ocfs2? If yes, what does the log say?

-- 
Goldwyn

___
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel


Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Zhangguanghui
Thanks for reply, just like what Goldwyn said, there is a critical result for 
such a simple process.
It has encountered EROFS all the time while calling ocfs2_start_trans, even if 
the storage is back to normal.
I 'm trying  to make some other changes and don't know if the error is still 
being shown.
Any feedback or suggestion about this process (positive or negative) would be 
greatly appreciated.
thanks again



zhangguanghui

From: Goldwyn Rodrigues<mailto:rgold...@suse.com>
Date: 2015-10-14 19:53
To: Joseph Qi<mailto:joseph...@huawei.com>; zhangguanghui 10102 
(CCPL)<mailto:zhang.guang...@h3c.com>
CC: mfasheh ><mailto:mfas...@suse.de>; 'ocfs2-us...@oss.oracle.com' 
(ocfs2-us...@oss.oracle.com)<mailto:ocfs2-us...@oss.oracle.com>; 
ocfs2-devel@oss.oracle.com<mailto:ocfs2-devel@oss.oracle.com>
Subject: Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review



On 10/14/2015 03:57 AM, Joseph Qi wrote:
> On 2015/10/14 16:45, Zhangguanghui wrote:
>> Hi,
>> "status = -30" means it has encountered EROFS when start transaction.
>> And system panic is because s_mount_opt is set to OCFS2_MOUNT_ERRORS_PANIC 
>> in  __ocfs2_abort,
>> ideal with OCFS2_MOUNT_ERRORS_PANIC first in ocfs2_handle_error.
>> so I think that it is not reasonable,  Therefore, this setting shall be 
>> canceled in __ocfs2_abort.
>>   thanks
>>
> The option is set when mounting and __ocfs2_abort does the check and
> then perform proper action.
> So if panic is not the behaviour you want, change the mount option to
> what you want.


No, this is a special case where the journal is aborted. So, we are
calling ocfs2_abort() because we cannot proceed with the transaction
because of journal abort. IOW, even if you use errors=continue, the
operation will fail because the error is too dangerous to continue for
any operation and hence the abort.

__ocfs2_abort does set OCFS2_MOUNT_ERRORS_PANIC in this case. This is a
critical error and we don't want to continue in any state, even
read-only. From the code comments:

 /* Force a panic(). This stinks, but it's better than letting
  * things continue without having a proper hard readonly
  * here. */


Please execute fsck to get the journal back in shape.

HTH,

--
Goldwyn


>
>> ---!
> ---
>> zhangguanghui
>>
>>
>>  *From:* Joseph Qi <mailto:joseph...@huawei.com>
>>  *Date:* 2015-10-14 16:13
>>  *To:* zhangguanghui 10102 (CCPL) <mailto:zhang.guang...@h3c.com>
>>  *CC:* mfasheh > <mailto:mfas...@suse.de>; 'ocfs2-us...@oss.oracle.com' 
>> (ocfs2-us...@oss.oracle.com) <mailto:ocfs2-us...@oss.oracle.com>; 
>> ocfs2-devel@oss.oracle.com <mailto:ocfs2-devel@oss.oracle.com>; rgoldwyn 
>> <mailto:rgold...@suse.com>
>>  *Subject:* Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 
>> review
>>
>>  On 2015/10/14 15:49, Zhangguanghui wrote:
>>  > OCFS2 is often used in high-availaibility systems, This patch 
>> enhances robustness for the filesystem.
>>  > but storage network is unstable,it still triggers a panic, such as 
>> ocfs2_start_trans -> __ocfs2_abort ->panic.
>>  > The 's_mount_opt' should depend on the mount option set, If 
>> errors=continue is set,
>>  > mark as a EIO error, change OCFS2_MOUNT_ERRORS_PANIC to 
>> OCFS2_MOUNT_ERRORS_CONT in __ocfs2_abort;
>>  > it's better than forcing a panic without decreasing 
>> availability,errors=continue seems be well to me.
>>  >
>>  > Finally, any feedback about this process (positive or negative) would 
>> be greatly appreciated.
>>  >
>>  

Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Goldwyn Rodrigues


On 10/14/2015 03:57 AM, Joseph Qi wrote:
> On 2015/10/14 16:45, Zhangguanghui wrote:
>> Hi,
>> "status = -30" means it has encountered EROFS when start transaction.
>> And system panic is because s_mount_opt is set to OCFS2_MOUNT_ERRORS_PANIC 
>> in  __ocfs2_abort,
>> ideal with OCFS2_MOUNT_ERRORS_PANIC first in ocfs2_handle_error.
>> so I think that it is not reasonable,  Therefore, this setting shall be 
>> canceled in __ocfs2_abort.
>>   thanks
>>
> The option is set when mounting and __ocfs2_abort does the check and
> then perform proper action.
> So if panic is not the behaviour you want, change the mount option to
> what you want.


No, this is a special case where the journal is aborted. So, we are 
calling ocfs2_abort() because we cannot proceed with the transaction 
because of journal abort. IOW, even if you use errors=continue, the 
operation will fail because the error is too dangerous to continue for 
any operation and hence the abort.

__ocfs2_abort does set OCFS2_MOUNT_ERRORS_PANIC in this case. This is a 
critical error and we don't want to continue in any state, even 
read-only. From the code comments:

 /* Force a panic(). This stinks, but it's better than letting
  * things continue without having a proper hard readonly
  * here. */


Please execute fsck to get the journal back in shape.

HTH,

-- 
Goldwyn


>
>> --!
 -!
> ---
>> zhangguanghui
>>
>>
>>  *From:* Joseph Qi <mailto:joseph...@huawei.com>
>>  *Date:* 2015-10-14 16:13
>>  *To:* zhangguanghui 10102 (CCPL) <mailto:zhang.guang...@h3c.com>
>>  *CC:* mfasheh > <mailto:mfas...@suse.de>; 'ocfs2-us...@oss.oracle.com' 
>> (ocfs2-us...@oss.oracle.com) <mailto:ocfs2-us...@oss.oracle.com>; 
>> ocfs2-devel@oss.oracle.com <mailto:ocfs2-devel@oss.oracle.com>; rgoldwyn 
>> <mailto:rgold...@suse.com>
>>  *Subject:* Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 
>> review
>>
>>  On 2015/10/14 15:49, Zhangguanghui wrote:
>>  > OCFS2 is often used in high-availaibility systems, This patch 
>> enhances robustness for the filesystem.
>>  > but storage network is unstable,it still triggers a panic, such as 
>> ocfs2_start_trans -> __ocfs2_abort ->panic.
>>  > The 's_mount_opt' should depend on the mount option set, If 
>> errors=continue is set,
>>  > mark as a EIO error, change OCFS2_MOUNT_ERRORS_PANIC to 
>> OCFS2_MOUNT_ERRORS_CONT in __ocfs2_abort;
>>  > it's better than forcing a panic without decreasing 
>> availability,errors=continue seems be well to me.
>>  >
>>  > Finally, any feedback about this process (positive or negative) would 
>> be greatly appreciated.
>>  >
>>  >Aug 11 11:32:25 cvknode73 kernel: [678904.787906] 
>> (pool,23256,12):ocfs2_start_trans:367 ERROR: status = -30
>>  >
>>  > Aug 11 11:32:25 cvknode73 kernel: [678904.825046] CPU: 12 PID: 
>> 23256 Comm: pool Tainted: GF W IO 3.13.6 #1
>>  > Aug 11 11:32:25 cvknode73 kernel: [678904.825050] Hardware name: 
>> HP ProLiant BL460c G7, BIOS I27 12/03/2012
>>  > Aug 11 11:32:25 cvknode73 kernel: [678904.825054] 
>> ffe2 88108c945a88 81750690 88180bacfff0
>>  > Aug 11 11:32:25 cvknode73 kernel: [678904.825064] 
>> 88174196d000 88108c945ad8 a052f667 ffe2
>>  > Aug 11 11:32:25 cvknode73 kernel: [678904.825072] 
>> 1000 88108c945b58 88175e87 8811ada4f000
>>  > Aug 11 11:32:25 cvknode73 kernel: [678904.825087] Call Tr

Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Joseph Qi
On 2015/10/14 16:45, Zhangguanghui wrote:
> Hi,
> "status = -30" means it has encountered EROFS when start transaction.
> And system panic is because s_mount_opt is set to OCFS2_MOUNT_ERRORS_PANIC in 
>  __ocfs2_abort, 
> ideal with OCFS2_MOUNT_ERRORS_PANIC first in ocfs2_handle_error.
> so I think that it is not reasonable,  Therefore, this setting shall be 
> canceled in __ocfs2_abort.
>  thanks 
> 
The option is set when mounting and __ocfs2_abort does the check and
then perform proper action.
So if panic is not the behaviour you want, change the mount option to
what you want.

> ---!
---
> zhangguanghui
> 
>  
> *From:* Joseph Qi <mailto:joseph...@huawei.com>
> *Date:* 2015-10-14 16:13
> *To:* zhangguanghui 10102 (CCPL) <mailto:zhang.guang...@h3c.com>
> *CC:* mfasheh > <mailto:mfas...@suse.de>; 'ocfs2-us...@oss.oracle.com' 
> (ocfs2-us...@oss.oracle.com) <mailto:ocfs2-us...@oss.oracle.com>; 
> ocfs2-devel@oss.oracle.com <mailto:ocfs2-devel@oss.oracle.com>; rgoldwyn 
> <mailto:rgold...@suse.com>
> *Subject:* Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review
> 
> On 2015/10/14 15:49, Zhangguanghui wrote:
> > OCFS2 is often used in high-availaibility systems, This patch enhances 
> robustness for the filesystem.
> > but storage network is unstable,it still triggers a panic, such as 
> ocfs2_start_trans -> __ocfs2_abort ->panic.
> > The 's_mount_opt' should depend on the mount option set, If 
> errors=continue is set,
> > mark as a EIO error, change OCFS2_MOUNT_ERRORS_PANIC to 
> OCFS2_MOUNT_ERRORS_CONT in __ocfs2_abort;
> > it's better than forcing a panic without decreasing 
> availability,errors=continue seems be well to me.
> >
> > Finally, any feedback about this process (positive or negative) would 
> be greatly appreciated.
> >
> >Aug 11 11:32:25 cvknode73 kernel: [678904.787906] 
> (pool,23256,12):ocfs2_start_trans:367 ERROR: status = -30
> >
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825046] CPU: 12 PID: 
> 23256 Comm: pool Tainted: GF W IO 3.13.6 #1
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825050] Hardware name: HP 
> ProLiant BL460c G7, BIOS I27 12/03/2012
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825054] ffe2 
> 88108c945a88 81750690 88180bacfff0
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825064] 88174196d000 
> 88108c945ad8 a052f667 ffe2
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825072] 1000 
> 88108c945b58 88175e87 8811ada4f000
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825087] Call Trace:
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825103] 
> [] dump_stack+0x46/0x58
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825154] 
> [] ocfs2_start_trans+0x1d7/0x200 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825183] 
> [] ocfs2_write_begin_nolock+0xda0/0x1c70 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825216] 
> [] ? ocfs2_read_inode_block_full+0x3b/0x60 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825248] 
> [] ? ocfs2_inode_lock_full_nested+0x52f/0xc60 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825277] 
> [] ? ocfs2_should_refresh_lock_res+0x80/0x190 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825304] 
> [] ocfs2_write_begin+0x106/0x230 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825330] 
> [] ? __ocfs2_cluster_unlock.isra.27+0x9b/0xe0 [ocfs2]
> > Aug 11 11:32:25 cvknode73 kernel: [678904.825342] 
> [] generic_

Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Zhangguanghui
Hi,
"status = -30" means it has encountered EROFS when start transaction.
And system panic is because s_mount_opt is set to OCFS2_MOUNT_ERRORS_PANIC in  
__ocfs2_abort,
ideal with OCFS2_MOUNT_ERRORS_PANIC first in ocfs2_handle_error.
so I think that it is not reasonable,  Therefore, this setting shall be 
canceled in __ocfs2_abort.
 thanks


zhangguanghui

From: Joseph Qi<mailto:joseph...@huawei.com>
Date: 2015-10-14 16:13
To: zhangguanghui 10102 (CCPL)<mailto:zhang.guang...@h3c.com>
CC: mfasheh ><mailto:mfas...@suse.de>; 'ocfs2-us...@oss.oracle.com' 
(ocfs2-us...@oss.oracle.com)<mailto:ocfs2-us...@oss.oracle.com>; 
ocfs2-devel@oss.oracle.com<mailto:ocfs2-devel@oss.oracle.com>; 
rgoldwyn<mailto:rgold...@suse.com>
Subject: Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

On 2015/10/14 15:49, Zhangguanghui wrote:
> OCFS2 is often used in high-availaibility systems, This patch enhances 
> robustness for the filesystem.
> but storage network is unstable,it still triggers a panic, such as 
> ocfs2_start_trans -> __ocfs2_abort ->panic.
> The 's_mount_opt' should depend on the mount option set, If errors=continue 
> is set,
> mark as a EIO error, change OCFS2_MOUNT_ERRORS_PANIC to 
> OCFS2_MOUNT_ERRORS_CONT in __ocfs2_abort;
> it's better than forcing a panic without decreasing 
> availability,errors=continue seems be well to me.
>
> Finally, any feedback about this process (positive or negative) would be 
> greatly appreciated.
>
>Aug 11 11:32:25 cvknode73 kernel: [678904.787906] 
> (pool,23256,12):ocfs2_start_trans:367 ERROR: status = -30
>
> Aug 11 11:32:25 cvknode73 kernel: [678904.825046] CPU: 12 PID: 23256 
> Comm: pool Tainted: GF W IO 3.13.6 #1
> Aug 11 11:32:25 cvknode73 kernel: [678904.825050] Hardware name: HP 
> ProLiant BL460c G7, BIOS I27 12/03/2012
> Aug 11 11:32:25 cvknode73 kernel: [678904.825054] ffe2 
> 88108c945a88 81750690 88180bacfff0
> Aug 11 11:32:25 cvknode73 kernel: [678904.825064] 88174196d000 
> 88108c945ad8 a052f667 ffe2
> Aug 11 11:32:25 cvknode73 kernel: [678904.825072] 1000 
> 88108c945b58 88175e87 8811ada4f000
> Aug 11 11:32:25 cvknode73 kernel: [678904.825087] Call Trace:
> Aug 11 11:32:25 cvknode73 kernel: [678904.825103] [] 
> dump_stack+0x46/0x58
> Aug 11 11:32:25 cvknode73 kernel: [678904.825154] [] 
> ocfs2_start_trans+0x1d7/0x200 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825183] [] 
> ocfs2_write_begin_nolock+0xda0/0x1c70 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825216] [] ? 
> ocfs2_read_inode_block_full+0x3b/0x60 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825248] [] ? 
> ocfs2_inode_lock_full_nested+0x52f/0xc60 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825277] [] ? 
> ocfs2_should_refresh_lock_res+0x80/0x190 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825304] [] 
> ocfs2_write_begin+0x106/0x230 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825330] [] ? 
> __ocfs2_cluster_unlock.isra.27+0x9b/0xe0 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825342] [] 
> generic_file_buffered_write+0xfb/0x280
> Aug 11 11:32:25 cvknode73 kernel: [678904.825370] [] ? 
> ocfs2_rw_lock+0x75/0x1b0 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825398] [] 
> ocfs2_file_aio_write+0x79f/0x830 [ocfs2]
> Aug 11 11:32:25 cvknode73 kernel: [678904.825407] [] 
> do_sync_write+0x5a/0x90
> Aug 11 11:32:25 cvknode73 kernel: [678904.825413] [] 
> vfs_write+0xc5/0x1f0
> Aug 11 11:32:25 cvknode73 kernel: [678904.825418] [] 
> SyS_write+0x52/0xa0
> Aug 11 11:32:25 cvknode73 kernel: [678904.825426] [] 
> system_call_fastpath+0x1a/0x1f
> Aug 11 11:32:25 cvknode73 kernel: [678904.825431] OCFS2: abort (device 
> sdu): ocfs2_start_trans: Detected aborted journal
>
"status = -30" means it has encountered EROFS when

Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Joseph Qi
On 2015/10/14 15:49, Zhangguanghui wrote:
> OCFS2 is often used in high-availaibility systems, This patch enhances 
> robustness for the filesystem.
> but storage network is unstable,it still triggers a panic, such as 
> ocfs2_start_trans -> __ocfs2_abort ->panic.
> The 's_mount_opt' should depend on the mount option set, If errors=continue 
> is set, 
> mark as a EIO error, change OCFS2_MOUNT_ERRORS_PANIC to 
> OCFS2_MOUNT_ERRORS_CONT in __ocfs2_abort;
> it's better than forcing a panic without decreasing 
> availability,errors=continue seems be well to me.
> 
> Finally, any feedback about this process (positive or negative) would be 
> greatly appreciated. 
> 
>Aug 11 11:32:25 cvknode73 kernel: [678904.787906] 
> (pool,23256,12):ocfs2_start_trans:367 ERROR: status = -30
> 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825046] CPU: 12 PID: 23256 
> Comm: pool Tainted: GF W IO 3.13.6 #1 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825050] Hardware name: HP 
> ProLiant BL460c G7, BIOS I27 12/03/2012 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825054] ffe2 
> 88108c945a88 81750690 88180bacfff0 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825064] 88174196d000 
> 88108c945ad8 a052f667 ffe2 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825072] 1000 
> 88108c945b58 88175e87 8811ada4f000 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825087] Call Trace: 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825103] [] 
> dump_stack+0x46/0x58 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825154] [] 
> ocfs2_start_trans+0x1d7/0x200 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825183] [] 
> ocfs2_write_begin_nolock+0xda0/0x1c70 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825216] [] ? 
> ocfs2_read_inode_block_full+0x3b/0x60 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825248] [] ? 
> ocfs2_inode_lock_full_nested+0x52f/0xc60 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825277] [] ? 
> ocfs2_should_refresh_lock_res+0x80/0x190 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825304] [] 
> ocfs2_write_begin+0x106/0x230 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825330] [] ? 
> __ocfs2_cluster_unlock.isra.27+0x9b/0xe0 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825342] [] 
> generic_file_buffered_write+0xfb/0x280 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825370] [] ? 
> ocfs2_rw_lock+0x75/0x1b0 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825398] [] 
> ocfs2_file_aio_write+0x79f/0x830 [ocfs2] 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825407] [] 
> do_sync_write+0x5a/0x90 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825413] [] 
> vfs_write+0xc5/0x1f0 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825418] [] 
> SyS_write+0x52/0xa0 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825426] [] 
> system_call_fastpath+0x1a/0x1f 
> Aug 11 11:32:25 cvknode73 kernel: [678904.825431] OCFS2: abort (device 
> sdu): ocfs2_start_trans: Detected aborted journal 
> 
"status = -30" means it has encountered EROFS when start transaction.
And system panic is because you mount with option "errors=panic",
while default is "errors=remount-ro" rather than panic.
Change it to "errors=continue" will proceed even if filesystem
encounters errors (default will set it to readonly).

Thanks,
Joseph

> 
> ---!
---
> zhangguanghui



___
Ocfs2-devel mailing list
Ocfs2-devel@oss.oracle.com
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

Re: [Ocfs2-devel] Ocfs2-devel Digest, Vol 138, Issue 31 review

2015-10-14 Thread Zhangguanghui
OCFS2 is often used in high-availaibility systems, This patch enhances 
robustness for the filesystem.
but storage network is unstable,it still triggers a panic, such as 
ocfs2_start_trans -> __ocfs2_abort ->panic.
The 's_mount_opt' should depend on the mount option set, If errors=continue is 
set,
mark as a EIO error, change OCFS2_MOUNT_ERRORS_PANIC to OCFS2_MOUNT_ERRORS_CONT 
in __ocfs2_abort;
it's better than forcing a panic without decreasing 
availability,errors=continue seems be well to me.

Finally, any feedback about this process (positive or negative) would be 
greatly appreciated.

   Aug 11 11:32:25 cvknode73 kernel: [678904.787906] 
(pool,23256,12):ocfs2_start_trans:367 ERROR: status = -30
Aug 11 11:32:25 cvknode73 kernel: [678904.825046] CPU: 12 PID: 23256 Comm: pool 
Tainted: GF W IO 3.13.6 #1
Aug 11 11:32:25 cvknode73 kernel: [678904.825050] Hardware name: HP ProLiant 
BL460c G7, BIOS I27 12/03/2012
Aug 11 11:32:25 cvknode73 kernel: [678904.825054] ffe2 
88108c945a88 81750690 88180bacfff0
Aug 11 11:32:25 cvknode73 kernel: [678904.825064] 88174196d000 
88108c945ad8 a052f667 ffe2
Aug 11 11:32:25 cvknode73 kernel: [678904.825072] 1000 
88108c945b58 88175e87 8811ada4f000
Aug 11 11:32:25 cvknode73 kernel: [678904.825087] Call Trace:
Aug 11 11:32:25 cvknode73 kernel: [678904.825103] [] 
dump_stack+0x46/0x58
Aug 11 11:32:25 cvknode73 kernel: [678904.825154] [] 
ocfs2_start_trans+0x1d7/0x200 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825183] [] 
ocfs2_write_begin_nolock+0xda0/0x1c70 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825216] [] ? 
ocfs2_read_inode_block_full+0x3b/0x60 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825248] [] ? 
ocfs2_inode_lock_full_nested+0x52f/0xc60 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825277] [] ? 
ocfs2_should_refresh_lock_res+0x80/0x190 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825304] [] 
ocfs2_write_begin+0x106/0x230 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825330] [] ? 
__ocfs2_cluster_unlock.isra.27+0x9b/0xe0 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825342] [] 
generic_file_buffered_write+0xfb/0x280
Aug 11 11:32:25 cvknode73 kernel: [678904.825370] [] ? 
ocfs2_rw_lock+0x75/0x1b0 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825398] [] 
ocfs2_file_aio_write+0x79f/0x830 [ocfs2]
Aug 11 11:32:25 cvknode73 kernel: [678904.825407] [] 
do_sync_write+0x5a/0x90
Aug 11 11:32:25 cvknode73 kernel: [678904.825413] [] 
vfs_write+0xc5/0x1f0
Aug 11 11:32:25 cvknode73 kernel: [678904.825418] [] 
SyS_write+0x52/0xa0
Aug 11 11:32:25 cvknode73 kernel: [678904.825426] [] 
system_call_fastpath+0x1a/0x1f
Aug 11 11:32:25 cvknode73 kernel: [678904.825431] OCFS2: abort (device sdu): 
ocfs2_start_trans: Detected aborted journal


zhangguanghui

Message: 8
Date: Fri, 28 Aug 2015 16:45:44 -0700
From: Mark Fasheh 
Subject: Re: [Ocfs2-devel] [patch 04/28] ocfs2: add errors=continue
To: a...@linux-foundation.org
Cc: ocfs2-devel@oss.oracle.com, rgold...@suse.com
Message-ID: <20150828234544.gn1...@wotan.suse.de>
Content-Type: text/plain; charset=us-ascii

On Wed, Aug 26, 2015 at 03:11:29PM -0700, Andrew Morton wrote:
> From: Goldwyn Rodrigues 
> Subject: ocfs2: add errors=continue
>
> OCFS2 is often used in high-availaibility systems.  However, ocfs2
> converts the filesystem to read-only at the drop of the hat.  This may not
> be necessary, since turning the filesystem read-only would affect other
> running processes as well, decreasing availability.
>
> This attempt is to add errors=continue, which would return the EIO to the
> calling process and terminate furhter processing so that the filesystem is
> not corrupted further.  However, the filesystem is not converted to
> read-only.
>
> As a future plan, I intend to create a small utility or extend fsck.ocfs2
> to fix small errors such as in the inode.  The input to the utility such
> as the inode can come from the kernel logs so we don't have to schedule a
> downtime for fixing small-enough errors.
>
> The patch changes the ocfs2_error to return an error.  The error returned
> depends on the mount option set.  If none is set, the default is to turn
> the filesystem read-only.
>
> Perhaps errors=continue is not the best option name.  Historically it is
> used for making an attempt to progress in the current process itself.
> Should we call it errors=eio?  or errors=killproc?  Suggestions/Comments
> welcome.

errors=continue seems fine to me, thanks for this Goldwyn.


>
> Sources are available at:
> https://github.com/goldwynr/linux/tree/error-cont
>
> Signed-off-by: Goldwyn Rodrigues 
> Cc: Mark Fasheh 
> Cc: Joel Becker 
> Signed-off-by: Andrew Morton 
Reviewed-by: Mark Fasheh 


> ---
>
>  fs/ocfs2/ocfs2.h |2 +
>  fs/ocfs2/super.c |   59 -
>  fs/ocfs2/super.h |2 -
>  3 files changed, 45 insertions(+), 18 deletions(-)
>
>