This is Suresh's patch with some modifications. -- SUSE Labs, Novell Inc.