Hi Andrew,

On 2015/4/1 6:13, Andrew Morton wrote:
> On Mon, 30 Mar 2015 11:22:13 +0800 alex chen <alex.c...@huawei.com> wrote:
> 
>> --- a/fs/ocfs2/dlmglue.c
>> +++ b/fs/ocfs2/dlmglue.c
>> @@ -1391,6 +1391,11 @@ static int __ocfs2_cluster_lock(struct ocfs2_super 
>> *osb,
>>      int noqueue_attempted = 0;
>>      int dlm_locked = 0;
>>
>> +    if (!(lockres->l_flags & OCFS2_LOCK_INITIALIZED)) {
>> +            mlog_errno(-EINVAL);
>> +            return -EINVAL;
>> +    }
> 
> hm.  How about we do this?
> 
> 
> From: Andrew Morton <a...@linux-foundation.org>
> Subject: ocfs2: make mlog_errno return the errno
> 
> ocfs2 does
> 
>       mlog_errno(v);
>       return v;
> 
> in many places.  Change mlog_errno() so we can do
> 
>       return mlog_errno(v);
> 
I don't think this is fit for all.
In many places it should do cleanup rather than just return the error
code.

> For some weird reason this patch reduces the size of ocfs2 by 6k:
> 
> akpm3:/usr/src/25> size fs/ocfs2/ocfs2.ko
>    text    data     bss     dec     hex filename
> 1146613   82767  832192 2061572  1f7504 fs/ocfs2/ocfs2.ko-before
> 1140857   82767  832192 2055816  1f5e88 fs/ocfs2/ocfs2.ko-after
> 
> Cc: Mark Fasheh <mfas...@suse.com>
> Cc: Joel Becker <jl...@evilplan.org>
> Cc: alex chen <alex.c...@huawei.com>
> Signed-off-by: Andrew Morton <a...@linux-foundation.org>
> ---
> 
>  fs/ocfs2/cluster/masklog.h |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff -puN fs/ocfs2/cluster/masklog.h~a fs/ocfs2/cluster/masklog.h
> --- a/fs/ocfs2/cluster/masklog.h~a
> +++ a/fs/ocfs2/cluster/masklog.h
> @@ -196,13 +196,14 @@ extern struct mlog_bits mlog_and_bits, m
>       }                                                               \
>  } while (0)
>  
> -#define mlog_errno(st) do {                                          \
> +#define mlog_errno(st) ({                                            \
>       int _st = (st);                                                 \
>       if (_st != -ERESTARTSYS && _st != -EINTR &&                     \
>           _st != AOP_TRUNCATED_PAGE && _st != -ENOSPC &&              \
>           _st != -EDQUOT)                                             \
>               mlog(ML_ERROR, "status = %lld\n", (long long)_st);      \
> -} while (0)
> +     st;                                                             \
> +})
>  
>  #define mlog_bug_on_msg(cond, fmt, args...) do {                     \
>       if (cond) {                                                     \
> _
> 
> 
> .
> 



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

Reply via email to