]> git.baikalelectronics.ru Git - kernel.git/commit
afs: Fix unlink
authorDavid Howells <dhowells@redhat.com>
Tue, 2 Jan 2018 10:02:19 +0000 (10:02 +0000)
committerDavid Howells <dhowells@redhat.com>
Tue, 2 Jan 2018 10:02:19 +0000 (10:02 +0000)
commit2ebf2a25b8d3e4bfc3a1ae083dde0101e4b77983
tree51975eb82d8cb8c4cb53755eb2a7740a0be48433
parent884bc3956880f86d0a9b6908a658b935d813c0c4
afs: Fix unlink

Repeating creation and deletion of a file on an afs mount will run the box
out of memory, e.g.:

dd if=/dev/zero of=/afs/scratch/m0 bs=$((1024*1024)) count=512
rm /afs/scratch/m0

The problem seems to be that it's not properly decrementing the nlink count
so that the inode can be scrapped.

Note that this doesn't fix local creation followed by remote deletion.
That's harder to handle and will require a separate patch as we're not told
that the file has been deleted - only that the directory has changed.

Reported-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
fs/afs/dir.c
fs/afs/inode.c