Understand I/O path in linux kernel