Maybe this is a decent approach to deal with the problem. First some
definitions. T is the target segment to be cleaned, S is the spare
segment that valid data is written to, O are other segments that contain
indirect blocks I for valid data D in T.
Have two different GC mechanisms to choose between:
1. Regular GC that copies D and I into S. On average D+I should require
less space than S can offer.
2. Slow GC only copies D into S. Indirect blocks get modified in-place
in O. This variant requires more seeks due to writing in various O,
but it guarantees that D always requires less space than S can offer.
Whenever you are running out of spare segments and are in danger of the
deadlock, switch to mechanism 2. Now your correctness problem is
reduced to a performance problem.
Jörn
--
To recognize individual spam features you have to try to get into the
mind of the spammer, and frankly I want to spend as little time inside
the minds of spammers as possible.
-- Paul Graham
-
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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]