Re: Design challenges in chunkd self-checking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/22/2009 08:40 PM, Pete Zaitcev wrote:
On Tue, 22 Dec 2009 17:43:58 -0500
Jeff Garzik<jeff@xxxxxxxxxx>  wrote:

It is normal and reasonable to maintain global information about all
in-progress operations.  Caching systems do that, for example, to ensure
multiple cache requests for object A do not initiate multiple
simultaneous back-end requests for object A.

Unfortunately, this requires a data structure that permits searching.
Since I lack the classical CS education, I cannot select an appropriate
structure beyond "double-linked list and a hope that we'll never see
more than 10 simultaneous I/Os".

What are the operational parameters?

* at beginning of object write, add entry to ADT (abstract data type, a list/table/whatever)

* at end of object write, remove entry from ADT

* lookup entry in ADT, where search key == object id. if search succeeds, that object is guaranteed to be young and not need verification. if search fails, the object (a) does not exist, or (b) has been completely written to disk.

Seems like a mutex-wrapped GLib hash table would work...

	Jeff



--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Fedora Clound]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux