afs: Don't over-increment the cell usage count when pinning it
authorDavid Howells <dhowells@redhat.com>
Mon, 9 Apr 2018 20:12:31 +0000 (21:12 +0100)
committerDavid Howells <dhowells@redhat.com>
Mon, 9 Apr 2018 20:12:31 +0000 (21:12 +0100)
commit17814aef57fc0b80ac2a4a7a639db358b75cb6b9
tree9d9a28e5811304439cc3cc9911c124801e8b27a8
parentfe342cf77bc3c3ba89e8bb1e4eddbe614df4efa4
afs: Don't over-increment the cell usage count when pinning it

AFS cells that are added or set as the workstation cell through /proc are
pinned against removal by setting the AFS_CELL_FL_NO_GC flag on them and
taking a ref.  The ref should be only taken if the flag wasn't already set.

Fix this by making it conditional.

Without this an assertion failure will occur during module removal
indicating that the refcount is too elevated.

Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/cell.c
fs/afs/proc.c