Print all lines before first match

Hi, I have this file.

close
block3c
block3b
block3a
open
close
block2b
block2a
open
close
block1a
open

and I need :

open
block3a
block3b
block3c
close

I think that it could be done with sed, but does anyone can help me with that?
Thanks

Please use code tags for code and data sample.

 awk '/open/ && !a{a=NR}{A[NR]=$0}END{for(i=a;i>=1;i--){print A}}' file