On 1/10/12 3:31 PM, Jan Kara wrote:
On Tue 10-01-12 14:20:23, Eric Sandeen wrote:
<snip>
quoted
Hrm let me think through this a little more; we actually do:
t16) ext4_journal_start()
t17) ext4_journal_start_sb()
t18) handle = ext4_journal_current_handle();
t19) if (!handle) vfs_check_frozen()
t20) ... jbd2_journal_start()
Ah, right. I forgot.
quoted
So actually we *do* block new handles, but let *existing* ones
continue (see commits 6b0310fbf087ad6e9e3b8392adca97cd77184084
and be4f27d324e8ddd57cc0d4d604fe85ee0425cba9)
So your assertion that a new handle is started is incorrect
in general, isn't it? So then does the fix seem necessary?
Or, at least, in the fashion below - maybe we need to just make
sure all started handles complete before the unlock_updates?
Or am I missing something...?
Well, the problem with running operations and freezing is more
fundamental I believe. See my email
http://marc.info/?l=linux-fsdevel&m=132585911925796&w=2
So I believe we'll need some better exclusion mechanism already in VFS.
Honza
Yep, saw it, just wasn't sure if this patchset was still under active consideration.
Thanks,
-Eric