functionfs: unfuck failure exits on mount
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 8 Jan 2012 20:38:27 +0000 (15:38 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 9 Jan 2012 01:17:17 +0000 (20:17 -0500)
commit5b5f9560354dc5a3a27ce57a86aec6b98531ee21
tree908448da30e77e931f62080e3d836cf0f070d389
parent48fa57ac2c30a8a0b770b7ad50b4b30c1d12f005
functionfs: unfuck failure exits on mount

* if you do dput() of root dentry, do *not* follow that with iput() of root
inode.
* while we are at it, don't do that dput() at all - you are leaving the pointer
in ->s_root and your ->kill_sb() will be very unhappy with that.  It will do
proper dput(), though, so the easiest way is to leave that to it entirely.
* freeing ->s_fs_info is also best left to ->kill_sb() (which will do it
anyway), especially since we leave the pointer in place.
* that xchg() in ->kill_sb() is not a bug per se, but it's a plain and simple
masturbation with fewer excuses than Onan had...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/usb/gadget/f_fs.c