| .. | .. |
|---|
| 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 | */ |
|---|