Linux: afs_fill_super: Call bdi_destroy on the failure path
authorAnders Kaseorg <andersk@mit.edu>
Tue, 12 Nov 2013 05:23:47 +0000 (00:23 -0500)
committerDerrick Brashear <shadow@your-file-system.com>
Tue, 12 Nov 2013 12:29:38 +0000 (04:29 -0800)
commitf5f53cb0a1f326ed4695621f6a5a63f798444549
tree9700898aa52ef366188ee0cb0f99d9b116b557cd
parent9f6f419b9a93b40280bd2a622ed1561f032361bf
Linux: afs_fill_super: Call bdi_destroy on the failure path

Without this, if AFS startup failed, then trying to start AFS again
triggers these warnings:

WARNING: CPU: 3 PID: 657 at /build/buildd/linux-3.12.0/fs/sysfs/dir.c:526 sysfs_add_one+0xa5/0xd0()
sysfs: cannot create duplicate filename '/devices/virtual/bdi/afs'

WARNING: CPU: 3 PID: 657 at /build/buildd/linux-3.12.0/lib/kobject.c:196 kobject_add_internal+0x1f4/0x300()
kobject_add_internal failed for afs with -EEXIST, don't try to register things with the same name in the same directory.

and leads to general system instability.  This can be reproduced by
starting AFS twice with an empty cache, dynroot disabled, and no
network.

Change-Id: I8ec1ed365c5b3cf60bd34af0aca94e0c496bcaa3
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Reviewed-on: http://gerrit.openafs.org/10448
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
src/afs/LINUX/osi_vfsops.c