From: Jeff Liu <jeff.liu@oracle.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Christoph Lameter <cl@gentwo.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
Pekka Enberg <penberg@kernel.org>,
akpm@linuxfoundation.org, Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH RESEND] slub: return correct error on slab_sysfs_init
Date: Sat, 21 Jun 2014 16:49:34 +0800 [thread overview]
Message-ID: <53A5471E.50503@oracle.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1406201526190.16090@chino.kir.corp.google.com>
On 06/21/2014 06:30 AM, David Rientjes wrote:
> On Fri, 20 Jun 2014, Jeff Liu wrote:
>
>> At that time, I thought it would be ENOMEM because I was review another patch
>> for adding sysfs support to XFS where we return ENOMEM in this case:
>> http://www.spinics.net/lists/xfs/msg28343.html
>>
>> This drives to me to think why it should be ENOMEM rather than ERR_PTR since
>> it seems most likely kset_create_and_add() would fails due to other reasons.
>> Hence I looked through kernel sources and figured out most subsystems are return
>> ENOMEM, maybe those subsystems are refers to the kset example code at:
>> samples/kobject/kset-example.c
>>
>
> If you're going to ignore other emails in this thread, then you're not
> going to make a very strong argument.
No, I was not intended to ignore your comments, instead, I appreciate your
review since it took up your time and time is valuable to everybody.
But the time zone is too late to me yesterday, and I need to refresh my
head to read through the whole call chains in kset_create_and_add().
>
> kset_create_and_add() can return NULL for reasons OTHER than just ENOMEM.
> It can also be returned for EEXIST because something registered the
> kobject with the same name. During init, which is what you're modifying
> here, the liklihood is higher that it will return EEXIST rather than
> ENOMEM otherwise there are much bigger problems than return value.
Agree, now it's clear EEXIST is returned if we trying to create a new kobject
with the same name and with the same parent_kobj, i.e,
kset_create_and_add()
kset_register()
kset_register()
kobject_add_internal()
create_dir()
sysfs_create_dir_ns()->sysfs_warn_dup()...
And also, the likelihood is higher to some extent, indeed.
>
>> So my original motivation is just to make the slub sysfs init error handling in
>> accordance to other subsystems(nitpick) and it does not affect the kernel behaviour.
>>
>
> Why should slub match the other incorrect behavior?
>
> What you're never addressing is WHY you are even making this change or
> even care about the return value. Show userspace breakage that depends on
> this.
For the consistency with other subsystems, but now I don't think it's right
due to above reason.
>> Combine with Greg's comments, as such, maybe the changelog would looks like
>> the following?
>>
>> GregKH: the only reason for failure would be out of memory on kset_create_and_add().
>> return -ENOMEM than -ENOSYS if the call is failed which is consistent with other
>> subsystems in this situation.
>>
>
> Bullshit. Read the above.
^^^^^^^
I assume that you spoke like that because I have not reply to you in time, I can
understand if so. Otherwise, don't talk to me like that no matter who you are!
>
> If you want to return PTR_ERR() when this fails and fixup all the callers,
> then propose that patch. Until then, it's a pretty simple rule: if you
> don't have an errno, don't assume the reason for failure.
As I mentioned previously, Greg don't like to fixup kobjects API via PTR_ERR().
For me, I neither want to propose PTR_ERR to kobject nor try to push the current
slub fix, because it's make no sense to slub with either errno.
Cheers,
-Jeff
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2014-06-21 8:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-18 1:29 [PATCH RESEND] slub: return correct error on slab_sysfs_init Jeff Liu
2014-06-18 20:16 ` David Rientjes
2014-06-19 14:39 ` Christoph Lameter
2014-06-19 20:32 ` Andrew Morton
2014-06-19 21:34 ` David Rientjes
2014-06-20 13:51 ` Jeff Liu
2014-06-20 22:30 ` David Rientjes
2014-06-21 8:49 ` Jeff Liu [this message]
2014-06-23 13:59 ` Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53A5471E.50503@oracle.com \
--to=jeff.liu@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=akpm@linuxfoundation.org \
--cc=cl@gentwo.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-mm@kvack.org \
--cc=penberg@kernel.org \
--cc=rientjes@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.