From: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
To: Minchan Kim <minchan@kernel.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Nitin Gupta <ngupta@vflare.org>,
linux-kernel@vger.kernel.org,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Subject: Re: [PATCHv3 9/9] zram: add dynamic device add/remove functionality
Date: Wed, 29 Apr 2015 16:02:18 +0900 [thread overview]
Message-ID: <20150429070218.GA616@swordfish> (raw)
In-Reply-To: <20150429064858.GA5125@blaptop>
Hello Minchan,
On (04/29/15 15:48), Minchan Kim wrote:
[..]
> >
> > CPU0 CPU1
> > umount
> > zram_remove()
> > zram_reset_device() disksize_store()
> > mount
> > kfree zram
> >
> > or
> >
> > CPU0 CPU1
> > umount
> > zram_remove()
> > zram_reset_device()
> > cat /sys/block/zram0/_any_sysfs_node_
> > sysfs_remove_group()
> > kfree zram _any_sysfs_node_read()
> >
> >
> > and so on. so removing sysfs group before zram_reset_device() makes sense.
> >
> > at the same time we need to prevent `umount-zram_remove vs. mount' race and forbid
> > zram_remove() on active device. so we check ->bd_openers and perform device reset
> > under ->bd_mutex.
> >
>
> Could you explain in detail about unmount-zram_remove vs. mount race?
> I guess it should be done in upper layer(e,g. VFS). Anyway, I want to be
> more clear about that.
>
sure. I was talking about this one:
CPU0 CPU1
umount
zram_remove()
lock ->bd_mutex
zram_reset_device()
unlock ->bd_mutex
disksize_store
mount
echo 'test' > /mnt/test
kfree zram
zram write
w/o ->bd_mutex around zram_reset_device() it's evern simpler, I guess.
hm, I don't think VFS can help us here.
-ss
next prev parent reply other threads:[~2015-04-29 7:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-27 13:21 [PATCHv3 0/9] introduce on-demand device creation Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 1/9] zram: add `compact` sysfs entry to documentation Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 2/9] zram: cosmetic ZRAM_ATTR_RO code formatting tweak Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 3/9] zram: use idr instead of `zram_devices' array Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 4/9] zram: reorganize code layout Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 5/9] zram: remove max_num_devices limitation Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 6/9] zram: report every added and removed device Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 7/9] zram: trivial: correct flag operations comment Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 8/9] zram: return zram device_id from zram_add() Sergey Senozhatsky
2015-04-27 13:21 ` [PATCHv3 9/9] zram: add dynamic device add/remove functionality Sergey Senozhatsky
2015-04-29 0:16 ` Sergey Senozhatsky
2015-04-29 6:48 ` Minchan Kim
2015-04-29 7:02 ` Sergey Senozhatsky [this message]
2015-04-29 7:23 ` Sergey Senozhatsky
2015-04-30 5:47 ` Minchan Kim
2015-04-30 6:34 ` Sergey Senozhatsky
2015-04-30 6:44 ` Minchan Kim
2015-04-30 6:51 ` Sergey Senozhatsky
2015-05-04 2:20 ` Minchan Kim
2015-05-04 2:28 ` Minchan Kim
2015-05-04 6:32 ` Sergey Senozhatsky
2015-05-04 6:29 ` Sergey Senozhatsky
2015-05-04 11:34 ` Sergey Senozhatsky
2015-04-30 6:44 ` Sergey Senozhatsky
2015-04-27 13:41 ` [PATCHv3 0/9] introduce on-demand device creation Sergey Senozhatsky
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=20150429070218.GA616@swordfish \
--to=sergey.senozhatsky.work@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=minchan@kernel.org \
--cc=ngupta@vflare.org \
--cc=sergey.senozhatsky@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox