Paul E. McKenney
7088efa913
fs/dcache: Use release-acquire for name/length update
...
The code in __d_alloc() carefully orders filling in the NUL character
of the name (and the length, hash, and the name itself) with assigning
of the name itself. However, prepend_name() does not order the accesses
to the ->name and ->len fields, other than on TSO systems. This commit
therefore replaces prepend_name()'s READ_ONCE() of ->name with an
smp_load_acquire(), which orders against the subsequent READ_ONCE() of
->len. Because READ_ONCE() now incorporates smp_read_barrier_depends(),
prepend_name()'s smp_read_barrier_depends() is removed. Finally,
to save a line, the smp_wmb()/store pair in __d_alloc() is replaced
by smp_store_release().
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com >
Cc: Alexander Viro <viro@zeniv.linux.org.uk >
Cc: <linux-fsdevel@vger.kernel.org >
2017-12-04 10:52:52 -08:00
..
2017-11-22 20:17:54 -10:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-24 13:55:46 +00:00
2017-11-17 16:10:02 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-16 11:41:22 -08:00
2017-11-15 18:21:06 -08:00
2017-11-21 05:38:32 -10:00
2017-11-15 18:21:04 -08:00
2017-11-17 12:54:01 -08:00
2017-11-17 13:20:41 -08:00
2017-11-14 11:35:15 -08:00
2017-11-07 20:25:03 +01:00
2017-11-14 14:44:04 -08:00
2017-11-17 14:16:21 -08:00
2017-11-02 11:10:55 +01:00
2017-11-17 09:51:57 -08:00
2017-11-17 11:54:55 -08:00
2017-11-16 12:10:21 -08:00
2017-11-17 16:10:03 -08:00
2017-11-16 11:41:22 -08:00
2017-11-15 19:42:40 -08:00
2017-11-15 18:21:06 -08:00
2017-11-17 16:10:03 -08:00
2017-11-17 16:10:03 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-15 18:21:06 -08:00
2017-11-14 14:13:11 -08:00
2017-11-17 09:51:57 -08:00
2017-11-02 11:10:55 +01:00
2017-11-14 13:53:18 -08:00
2017-11-18 11:22:04 -08:00
2017-11-02 11:10:55 +01:00
2017-11-13 17:56:58 -08:00
2017-11-17 14:18:00 -08:00
2017-11-18 11:22:04 -08:00
2017-11-17 16:10:03 -08:00
2017-11-02 11:10:55 +01:00
2017-11-15 10:14:11 -08:00
2017-11-14 15:32:19 -08:00
2017-11-21 15:57:07 -08:00
2017-11-02 11:10:55 +01:00
2017-11-21 05:40:48 -10:00
2017-11-17 13:36:59 -08:00
2017-11-22 20:20:02 -10:00
2017-11-21 15:57:05 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-14 14:13:11 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-14 11:35:15 -08:00
2017-11-14 14:13:11 -08:00
2017-11-02 11:10:55 +01:00
2017-11-22 20:42:42 -10:00
2017-11-17 11:54:55 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-17 12:54:01 -08:00
2017-11-16 12:50:35 -08:00
2017-11-02 11:10:55 +01:00
2017-11-14 15:32:19 -08:00
2017-11-15 18:21:06 -08:00
2017-11-02 11:10:55 +01:00
2017-11-17 12:54:01 -08:00
2017-11-17 11:54:55 -08:00
2017-11-17 09:51:57 -08:00
2017-12-04 10:52:52 -08:00
2017-11-14 15:32:19 -08:00
2017-11-02 11:10:55 +01:00
2017-11-17 16:56:17 -08:00
2017-11-15 08:08:36 -05:00
2017-11-17 12:54:01 -08:00
2017-11-15 18:21:04 -08:00
2017-11-17 12:54:01 -08:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:32:44 +01:00
2017-11-10 08:48:46 -05:00
2017-11-02 11:10:55 +01:00
2017-11-17 12:08:18 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-17 12:54:01 -08:00
2017-11-08 15:16:36 -05:00
2017-11-02 11:10:55 +01:00
2017-11-17 16:10:03 -08:00
2017-11-07 10:32:44 +01:00
2017-11-17 12:08:18 -08:00
2017-11-07 10:32:44 +01:00
2017-11-17 11:54:55 -08:00
2017-11-02 11:10:55 +01:00
2017-11-17 11:54:55 -08:00
2017-11-02 11:10:55 +01:00
2017-11-17 12:54:01 -08:00
2017-11-17 12:54:01 -08:00
2017-11-14 15:32:19 -08:00
2017-11-02 11:10:55 +01:00
2017-11-15 18:21:05 -08:00
2017-11-02 11:10:55 +01:00