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 <[email protected]>
>>>>
>>>> Remove lock and unlock super operation.
>>>>
>>>> Signed-off-by: Marco Stornelli <[email protected]>
>>>
>>> Acked-by: Artem Bityutskiy <[email protected]>
>>>
>>
>>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to