Louis Rilling 6f61076406 configfs: Introduce configfs_dirent_lock
This patch introduces configfs_dirent_lock spinlock to protect configfs_dirent
traversals against linkage mutations (add/del/move). This will allow
configfs_detach_prep() to avoid locking i_mutexes.

Locking rules for configfs_dirent linkage mutations are the same plus the
requirement of taking configfs_dirent_lock. For configfs_dirent walking, one can
either take appropriate i_mutex as before, or take configfs_dirent_lock.

The spinlock could actually be a mutex, but the critical sections are either
O(1) or should not be too long (default groups walking in last patch).

ChangeLog:
  - Clarify the comment on configfs_dirent_lock usage
  - Move sd->s_element init before linking the new dirent
  - In lseek(), do not release configfs_dirent_lock before the dirent is
    relinked.

Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
2008-07-14 13:57:15 -07:00
..
2008-07-03 09:59:03 -05:00
2008-02-08 09:22:40 -08:00
2008-05-01 08:04:01 -07:00
2008-04-29 08:06:04 -07:00
2008-05-19 15:37:27 -05:00
2008-04-29 08:06:00 -07:00
2008-04-30 08:29:52 -07:00
2008-02-08 09:22:40 -08:00
2008-05-21 16:55:58 -07:00
2008-04-29 08:06:18 -07:00
2008-07-08 15:22:40 -04:00
2007-10-18 14:37:31 -07:00
2008-05-24 09:56:08 -07:00
2008-04-30 08:29:52 -07:00
2008-06-06 11:29:13 -07:00
2008-06-06 11:29:13 -07:00
2008-05-07 18:35:03 +02:00
2008-01-30 13:31:46 +01:00
2008-04-30 08:29:47 -07:00
2008-06-23 13:07:00 -04:00
2008-05-01 13:08:16 -04:00
2008-05-01 13:08:50 -04:00
2008-05-01 13:08:16 -04:00
2007-05-21 09:18:19 -07:00
2008-05-01 13:08:16 -04:00
2007-05-08 11:15:01 -07:00
2008-05-06 13:13:37 -07:00
2008-02-06 10:41:07 -08:00
2008-04-29 08:06:00 -07:00
2008-06-06 11:29:08 -07:00
2008-01-30 13:31:46 +01:00
2008-02-14 21:13:33 -08:00
2006-10-01 00:39:19 -07:00
2008-04-30 08:29:51 -07:00
2008-05-01 13:08:50 -04:00
2008-02-14 21:13:33 -08:00
2008-04-29 08:06:00 -07:00
2008-05-01 13:08:50 -04:00