[patch] improve locking mechanizm during staging process

Bug #520555 reported by Stanislav Ievlev on 2010-02-11
This bug affects 1 person
Affects Status Importance Assigned to Milestone
In Progress
Dmitrii Zagorodnov

Bug Description

Current locking implementation during staging process will not properly work on network filesystems (we are using a shared cache for all machines in cluster).
I've replaced a simple touch() and unlink() calls with a more perfect solution.

My functions use both fcntl and mutexes. This technique prevents a race conditions both between a local threads in one process
and between different processes on different machines.

Changed in eucalyptus:
assignee: nobody → Dmitrii Zagorodnov (dmitrii)
Dmitrii Zagorodnov (dmitrii) wrote :

Hi Stanislav,

Thanks a lot for the patch, I'm adding it to the 2.0.* code branch. I'll remove the

sem_v (disk_sem);
sem_p (disk_sem);

pair, because lock_file_aquire() is already called with sc_sem held and disk_sem is used to serialize long-running disk operations in storage.c. Does that make sense?


Changed in eucalyptus:
status: New → In Progress
importance: Undecided → Medium
milestone: none → 2.0.4
Andy Grimm (agrimm) wrote :

This issue is now being tracked upstream at http://eucalyptus.atlassian.net/browse/EUCA-2680

Please watch that issue for further updates.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers