+// Welcome to The Mountain O'Shit! :)
+
+/*
+ TODO vfs & device todos checklist
+
+ It is overseen by Twilight Sparkle ;)
+
+ 1. Get inodes hooked into lru (CHECKED)
+ 2. Get dnodes hooked into lru (CHECKED)
+ 3. Get inodes properly hashed so they can be reused by underling fs (CHECKED)
+ 4. (lru) Add a callback function (or destructor) for eviction. (CHECKED)
+ [good idea] or a constructor/destructor pattern in cake allocator ?
+ 5. (mount) Figure out a way to identify a busy mount point before unmount
+ maybe a unified mount_point structure that maintain a referencing
+ counter on any dnodes within the subtree? Such a counter will only
+ increament if a file is opened or a dnode is being used as working
+ directory and decreamenting conversely. (CHECKED)
+ 6. (mount) Ability to track all mount points (including sub-mounts)
+ so we can be confident to clean up everything when we
+ unmount. (CHECKED)
+ 7. (mount) Figure out a way to acquire the device represented by a dnode.
+ so it can be used to mount. (e.g. we wish to get `struct device*`
+ out of the dnode at /dev/sda)
+ [tip] we should pay attention at twifs and add a private_data field
+ under struct v_dnode? (CHECKED)
+ 8. (mount) Then, we should refactor on mount/unmount mechanism. (CHECKED)
+ 9. (mount) (future) Ability to mount any thing? e.g. Linux can mount a disk
+ image file using a so called "loopback" pseudo device. Maybe
+ we can do similar thing in Lunaix? A block device emulation
+ above the regular file when we mount it on.
+ 10. (device) device number (dev_t) allocation
+ [good idea] <class>:<subclass>:<uniq_id> composition (CHECKED)
+*/
+