fs/super.c: fix WARN on alloc_super() fail path
authorVladimir Davydov <vdavydov@parallels.com>
Tue, 21 Jan 2014 23:48:45 +0000 (15:48 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 22 Jan 2014 00:19:42 +0000 (16:19 -0800)
commitb5bd856a0c2a6331ee3300fb589aeea56eba110b
tree3dff9573fc8fdc07b1961dc7412f7ceea7d17c1b
parent4e4f9e66a75921aa260c2f5bf626bdea54e51ba2
fs/super.c: fix WARN on alloc_super() fail path

On fail path alloc_super() calls destroy_super(), which issues a warning
if the sb's s_mounts list is not empty, in particular if it has not been
initialized.  That said s_mounts must be initialized in alloc_super()
before any possible failure, but currently it is initialized close to
the end of the function leading to a useless warning dumped to log if
either percpu_counter_init() or list_lru_init() fails.  Let's fix this.

Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/super.c