lkml.org 
[lkml]   [2012]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/8] exofs: remove lock/unlock super
On 08/16/2012 04:10 PM, Artem Bityutskiy wrote:

> On Thu, 2012-08-16 at 15:32 +0300, Boaz Harrosh wrote:
>> On 08/16/2012 03:20 PM, Artem Bityutskiy wrote:
>>
>>> On Thu, 2012-08-16 at 12:00 +0200, Marco Stornelli wrote:
>>>> From: Marco Stornelli <marco.stornelli@gmail.com>
>>>>
>>>> Remove lock and unlock super operation.
>>>>
>>>> Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com>
>>>
>>> Acked-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
>>>
>>
>>
>> Are you sure? It used to be that exofs_sync_fs() could be called
>> concurrently.
>>
>> What about two "bash -c sync" calls or a sync and an unmount
>> in parallel. anything protecting that?
>>
>> If so then sure, but please let me test first.
>
> Umm, actually we will probably end up writing the same twice without the
> lock.
>


No we are not allowed to run exofs_sync_fs() concurrently because it uses
a per-alllocated scratch buffer to do it's stuff so you can end up with data
corruption on disk.

And we cannot use a spin-lock because we might sleep in ore_write()

There are some optimizations I can do here, but lets for now just do
the sb->s_lock thing, and I might decide to completely revamp the
all thing later.

Thanks
Boaz


\
 
 \ /
  Last update: 2012-08-16 17:22    [W:1.085 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site