I am a Ba'al Kri'ah. I am quite confused regarding the rules of "kamatz katan".
The answer you accepted only gives a book name(ah and ohs), and the book they gave, applies only to modern israeli hebrew and their answer doesn't state the rule only to look in that book.
The rule in Sephardi hebrew is very simple. A kamatz in a closed unstressed syllable, is kamatz katan. Primary or secondary stress counts. So a meteg (secondary stress) when with a kamatz, denotes secondary stress that makes it not unstressed, so, whether open or closed, it's then not closed unstressed, so it's then a kamatz gadol. I don't think there are any exceptions to this. msh210 tried to suggest one but it's not an exception(as I commented to him).
Ashkenazi hebrew doesn't have two kamatz sounds for the one kamatz mark.
The rule in modern israeli hebrew I don't know the details of, it may take into account the binyan and tense/aspect of the verb when the word is a verb.
Another Ba'al Kri'ah explained that a kamatz katan occurs when a
kamatz is used in a word (usually a verb) when the root of the verb
usually has a cholam. Examples are "shomru" (originally "shomer")
"roshei" (originally "rosh") and "chodsheichem" (from "chodesh")
this sounds like something to do with the modern israeli rule for when a kamatz is kamatz katan. For example Gen 9:21 Aleph Heh Lamed Heh . The Aleph has a kamatz but there's a difference between sephardi and modern israeli hebrew as to whether it's kamatz gadol or kamatz katan. Sephardi hebrew would say Ahola. Modern Israeli Hebrew would say kamatz katan Ohhola and for modern israeli hebrew it's to do with the fact that the word it comes from Ohel has a cholam to make the Oh.
Feldheim use the sephardi rule, whereas I have heard that Koren use the modern israeli rule.
The sephardi rule for kamatz katan is very simple, all over the place online and easily verified on any word in e.g. the Feldheim tanach simanim that marks them.