.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | #include <linux/export.h> |
---|
2 | 3 | #include <linux/fs.h> |
---|
3 | 4 | #include <linux/fs_stack.h> |
---|
.. | .. |
---|
21 | 22 | i_size = i_size_read(src); |
---|
22 | 23 | |
---|
23 | 24 | /* |
---|
24 | | - * But if CONFIG_LBDAF (on 32-bit), we ought to make an effort to |
---|
25 | | - * keep the two halves of i_blocks in sync despite SMP or PREEMPT - |
---|
26 | | - * though stat's generic_fillattr() doesn't bother, and we won't be |
---|
27 | | - * applying quotas (where i_blocks does become important) at the |
---|
28 | | - * upper level. |
---|
| 25 | + * But on 32-bit, we ought to make an effort to keep the two halves of |
---|
| 26 | + * i_blocks in sync despite SMP or PREEMPTION - though stat's |
---|
| 27 | + * generic_fillattr() doesn't bother, and we won't be applying quotas |
---|
| 28 | + * (where i_blocks does become important) at the upper level. |
---|
29 | 29 | * |
---|
30 | 30 | * We don't actually know what locking is used at the lower level; |
---|
31 | 31 | * but if it's a filesystem that supports quotas, it will be using |
---|
.. | .. |
---|
38 | 38 | spin_unlock(&src->i_lock); |
---|
39 | 39 | |
---|
40 | 40 | /* |
---|
41 | | - * If CONFIG_SMP or CONFIG_PREEMPT on 32-bit, it's vital for |
---|
| 41 | + * If CONFIG_SMP or CONFIG_PREEMPTION on 32-bit, it's vital for |
---|
42 | 42 | * fsstack_copy_inode_size() to hold some lock around |
---|
43 | 43 | * i_size_write(), otherwise i_size_read() may spin forever (see |
---|
44 | 44 | * include/linux/fs.h). We don't necessarily hold i_mutex when this |
---|
45 | 45 | * is called, so take i_lock for that case. |
---|
46 | 46 | * |
---|
47 | | - * And if CONFIG_LBDAF (on 32-bit), continue our effort to keep the |
---|
48 | | - * two halves of i_blocks in sync despite SMP or PREEMPT: use i_lock |
---|
49 | | - * for that case too, and do both at once by combining the tests. |
---|
| 47 | + * And if on 32-bit, continue our effort to keep the two halves of |
---|
| 48 | + * i_blocks in sync despite SMP or PREEMPTION: use i_lock for that case |
---|
| 49 | + * too, and do both at once by combining the tests. |
---|
50 | 50 | * |
---|
51 | 51 | * There is none of this locking overhead in the 64-bit case. |
---|
52 | 52 | */ |
---|