I did something simialr to this so that it would not prompt the user to try to rescan for the encrypted FS if no persistent home was found where I had set home=scan as a default boot parameter in my remaster, Overclockix.

Your code is cleaner than mine though.