All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <clm@fb.com>
To: Jeff Mahoney <jeffm@suse.com>,
	linux-btrfs <linux-btrfs@vger.kernel.org>,
	David Sterba <dsterba@suse.cz>
Subject: Re: [PATCH v4] btrfs: allocate raid type kobjects dynamically
Date: Tue, 27 May 2014 13:22:33 -0400	[thread overview]
Message-ID: <5384C9D9.9000705@fb.com> (raw)
In-Reply-To: <5384C68C.507@fb.com>



On 05/27/2014 01:08 PM, Chris Mason wrote:
> On 05/27/2014 12:59 PM, Jeff Mahoney wrote:
>> We are currently allocating space_info objects in an array when we
>> allocate space_info. When a user does something like:
>>
>> # btrfs balance start -mconvert=raid1 -dconvert=raid1 /mnt
>> # btrfs balance start -mconvert=single -dconvert=single /mnt -f
>> # btrfs balance start -mconvert=raid1 -dconvert=raid1 /
>>
>> We can end up with memory corruption since the kobject hasn't
>> been reinitialized properly and the name pointer was left set.
>>
>> The rationale behind allocating them statically was to avoid
>> creating a separate kobject container that just contained the
>> raid type. It used the index in the array to determine the index.
>>
>> Ultimately, though, this wastes more memory than it saves in all
>> but the most complex scenarios and introduces kobject lifetime
>> questions.
>>
>> This patch allocates the kobjects dynamically instead. Note that
>> we also remove the kobject_get/put of the parent kobject since
>> kobject_add and kobject_del do that internally.
>>
>> Signed-off-by: Jeff Mahoney <jeffm@suse.com>
> 
> Lets see how smart patchwork is:
> 
> Reported-by:David Sterba <dsterba@suse.cz>

For future reference, not that smart.

-chris


  reply	other threads:[~2014-05-27 17:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-27 16:59 [PATCH v4] btrfs: allocate raid type kobjects dynamically Jeff Mahoney
2014-05-27 17:08 ` Chris Mason
2014-05-27 17:22   ` Chris Mason [this message]
2014-05-27 17:20     ` Jeff Mahoney
2014-05-27 17:26       ` Chris Mason

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=5384C9D9.9000705@fb.com \
    --to=clm@fb.com \
    --cc=dsterba@suse.cz \
    --cc=jeffm@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    /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.