[patch] improve locking mechanizm during staging process

Bug #520555 reported by Stanislav Ievlev on 2010-02-11
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Eucalyptus
In Progress
Medium
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?

Regards,
Dmitrii

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