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>
Showing
- fs/hfsplus/catalog.c 3 additions, 0 deletionsfs/hfsplus/catalog.c
- fs/hfsplus/dir.c 9 additions, 3 deletionsfs/hfsplus/dir.c
- fs/hfsplus/hfsplus_fs.h 1 addition, 0 deletionsfs/hfsplus/hfsplus_fs.h
- fs/hfsplus/inode.c 1 addition, 0 deletionsfs/hfsplus/inode.c
- fs/hfsplus/super.c 1 addition, 0 deletionsfs/hfsplus/super.c
Loading
Please register or sign in to comment