]> git.baikalelectronics.ru Git - kernel.git/commit
hfsplus: switch to ->iterate_shared()
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 13 May 2016 00:02:09 +0000 (20:02 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 13 May 2016 00:08:40 +0000 (20:08 -0400)
commit056a937c4df8ef9d4dfbd674c9c91d7d166c0a5a
tree7185ea5c3d7b5d08492bd93bb714bc5338b5355c
parent5c09a2ce0f6799d26bbf444f4d98ed2f881b83b8
hfsplus: switch to ->iterate_shared()

We need to protect the list of hfsplus_readdir_data against parallel
insertions (in readdir) and removals (in release).  Add a spinlock
for that.  Note that it has nothing to do with protection of
hfsplus_readdir_data->key - we have an exclusion between hfsplus_readdir()
and hfsplus_delete_cat() on directory lock and between several
hfsplus_readdir() for the same struct file on ->f_pos_lock.  The spinlock
is strictly for list changes.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/hfsplus/catalog.c
fs/hfsplus/dir.c
fs/hfsplus/hfsplus_fs.h
fs/hfsplus/inode.c
fs/hfsplus/super.c