block: remove CONFIG_LBDAF
Currently support for 64-bit sector_t and blkcnt_t is optional on 32-bit architectures. These types are required to support block device and/or file sizes larger than 2 TiB, and have generally defaulted to on for a long time. Enabling the option only increases the i386 tinyconfig size by 145 bytes, and many data structures already always use 64-bit values for their in-core and on-disk data structures anyway, so there should not be a large change in dynamic memory usage either. Dropping this option removes a somewhat weird non-default config that has cause various bugs or compiler warnings when actually used. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Родитель
75199aa526
Коммит
72deb455b5
|
@ -72,47 +72,44 @@ and elsewhere regarding submitting Linux kernel patches.
|
|||
13) Has been build- and runtime tested with and without ``CONFIG_SMP`` and
|
||||
``CONFIG_PREEMPT.``
|
||||
|
||||
14) If the patch affects IO/Disk, etc: has been tested with and without
|
||||
``CONFIG_LBDAF.``
|
||||
16) All codepaths have been exercised with all lockdep features enabled.
|
||||
|
||||
15) All codepaths have been exercised with all lockdep features enabled.
|
||||
17) All new ``/proc`` entries are documented under ``Documentation/``
|
||||
|
||||
16) All new ``/proc`` entries are documented under ``Documentation/``
|
||||
|
||||
17) All new kernel boot parameters are documented in
|
||||
18) All new kernel boot parameters are documented in
|
||||
``Documentation/admin-guide/kernel-parameters.rst``.
|
||||
|
||||
18) All new module parameters are documented with ``MODULE_PARM_DESC()``
|
||||
19) All new module parameters are documented with ``MODULE_PARM_DESC()``
|
||||
|
||||
19) All new userspace interfaces are documented in ``Documentation/ABI/``.
|
||||
20) All new userspace interfaces are documented in ``Documentation/ABI/``.
|
||||
See ``Documentation/ABI/README`` for more information.
|
||||
Patches that change userspace interfaces should be CCed to
|
||||
linux-api@vger.kernel.org.
|
||||
|
||||
20) Check that it all passes ``make headers_check``.
|
||||
21) Check that it all passes ``make headers_check``.
|
||||
|
||||
21) Has been checked with injection of at least slab and page-allocation
|
||||
22) Has been checked with injection of at least slab and page-allocation
|
||||
failures. See ``Documentation/fault-injection/``.
|
||||
|
||||
If the new code is substantial, addition of subsystem-specific fault
|
||||
injection might be appropriate.
|
||||
|
||||
22) Newly-added code has been compiled with ``gcc -W`` (use
|
||||
23) Newly-added code has been compiled with ``gcc -W`` (use
|
||||
``make EXTRA_CFLAGS=-W``). This will generate lots of noise, but is good
|
||||
for finding bugs like "warning: comparison between signed and unsigned".
|
||||
|
||||
23) Tested after it has been merged into the -mm patchset to make sure
|
||||
24) Tested after it has been merged into the -mm patchset to make sure
|
||||
that it still works with all of the other queued patches and various
|
||||
changes in the VM, VFS, and other subsystems.
|
||||
|
||||
24) All memory barriers {e.g., ``barrier()``, ``rmb()``, ``wmb()``} need a
|
||||
25) All memory barriers {e.g., ``barrier()``, ``rmb()``, ``wmb()``} need a
|
||||
comment in the source code that explains the logic of what they are doing
|
||||
and why.
|
||||
|
||||
25) If any ioctl's are added by the patch, then also update
|
||||
26) If any ioctl's are added by the patch, then also update
|
||||
``Documentation/ioctl/ioctl-number.txt``.
|
||||
|
||||
26) If your modified source code depends on or uses any of the kernel
|
||||
27) If your modified source code depends on or uses any of the kernel
|
||||
APIs or features that are related to the following ``Kconfig`` symbols,
|
||||
then test multiple builds with the related ``Kconfig`` symbols disabled
|
||||
and/or ``=m`` (if that option is available) [not all of these at the
|
||||
|
|
|
@ -74,38 +74,34 @@ Linux カーネルパッチ投稿者向けチェックリスト
|
|||
13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
|
||||
ビルドした上、動作確認を行ってください。
|
||||
|
||||
14: もしパッチがディスクのI/O性能などに影響を与えるようであれば、
|
||||
'CONFIG_LBDAF'オプションを有効にした場合と無効にした場合の両方で
|
||||
テストを実施してみてください。
|
||||
14: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
|
||||
|
||||
15: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
|
||||
|
||||
16: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
|
||||
15: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
|
||||
必ずドキュメントを追加してください。
|
||||
|
||||
17: 新しいブートパラメータを追加した場合には、
|
||||
16: 新しいブートパラメータを追加した場合には、
|
||||
必ずDocumentation/admin-guide/kernel-parameters.rst に説明を追加してください。
|
||||
|
||||
18: 新しくmoduleにパラメータを追加した場合には、MODULE_PARM_DESC()を
|
||||
17: 新しくmoduleにパラメータを追加した場合には、MODULE_PARM_DESC()を
|
||||
利用して必ずその説明を記述してください。
|
||||
|
||||
19: 新しいuserspaceインタフェースを作成した場合には、Documentation/ABI/ に
|
||||
18: 新しいuserspaceインタフェースを作成した場合には、Documentation/ABI/ に
|
||||
Documentation/ABI/README を参考にして必ずドキュメントを追加してください。
|
||||
|
||||
20: 'make headers_check'を実行して全く問題がないことを確認してください。
|
||||
19: 'make headers_check'を実行して全く問題がないことを確認してください。
|
||||
|
||||
21: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
|
||||
20: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
|
||||
挙動について、fault-injectionを利用して確認してください。
|
||||
Documentation/fault-injection/ を参照してください。
|
||||
|
||||
追加したコードがかなりの量であったならば、サブシステム特有の
|
||||
fault-injectionを追加したほうが良いかもしれません。
|
||||
|
||||
22: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
|
||||
21: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
|
||||
このオプションは大量の不要なメッセージを出力しますが、
|
||||
"warning: comparison between signed and unsigned" のようなメッセージは、
|
||||
バグを見つけるのに役に立ちます。
|
||||
|
||||
23: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
|
||||
22: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
|
||||
VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
|
||||
できることを確認するテストを行ってください。
|
||||
|
|
|
@ -15,7 +15,6 @@ CONFIG_PERF_EVENTS=y
|
|||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -17,7 +17,6 @@ CONFIG_PERF_EVENTS=y
|
|||
CONFIG_SLAB=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -18,7 +18,6 @@ CONFIG_PERF_EVENTS=y
|
|||
CONFIG_ISA_ARCOMPACT=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -20,7 +20,6 @@ CONFIG_MODULES=y
|
|||
CONFIG_MODULE_FORCE_LOAD=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -18,7 +18,6 @@ CONFIG_MODULES=y
|
|||
CONFIG_MODULE_FORCE_LOAD=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -18,7 +18,6 @@ CONFIG_PERF_EVENTS=y
|
|||
CONFIG_ISA_ARCOMPACT=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -17,7 +17,6 @@ CONFIG_PERF_EVENTS=y
|
|||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -12,7 +12,6 @@ CONFIG_PERF_EVENTS=y
|
|||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -23,7 +23,6 @@ CONFIG_SLAB_FREELIST_RANDOM=y
|
|||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_BLK_DEBUG_FS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
|
|
|
@ -23,7 +23,6 @@ CONFIG_SLAB_FREELIST_RANDOM=y
|
|||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_STRICT_KERNEL_RWX=y
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_BLK_DEBUG_FS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
|
|
|
@ -9,7 +9,6 @@ CONFIG_EMBEDDED=y
|
|||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -6,7 +6,6 @@ CONFIG_RD_LZMA=y
|
|||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLOB=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_LBDAF is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_CLPS711X=y
|
||||
|
|
|
@ -11,7 +11,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -13,7 +13,6 @@ CONFIG_MODULES=y
|
|||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
|
|
|
@ -4,7 +4,6 @@ CONFIG_HIGH_RES_TIMERS=y
|
|||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -12,7 +12,6 @@ CONFIG_MODULES=y
|
|||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_PXA=y
|
||||
|
|
|
@ -15,7 +15,6 @@ CONFIG_EMBEDDED=y
|
|||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
CONFIG_ARCH_MULTI_V4=y
|
||||
|
|
|
@ -5,7 +5,6 @@ CONFIG_BLK_DEV_INITRD=y
|
|||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SLOB=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_LBDAF is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_MULTI_V4T=y
|
||||
|
|
|
@ -17,7 +17,6 @@ CONFIG_OPROFILE=y
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -13,7 +13,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -9,7 +9,6 @@ CONFIG_EXPERT=y
|
|||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -14,7 +14,6 @@ CONFIG_PROFILING=y
|
|||
CONFIG_OPROFILE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -12,7 +12,6 @@ CONFIG_EMBEDDED=y
|
|||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_MMU is not set
|
||||
|
|
|
@ -11,7 +11,6 @@ CONFIG_SYSCTL_SYSCALL=y
|
|||
# CONFIG_AIO is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -17,7 +17,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_BLK_CMDLINE_PARSER=y
|
||||
# CONFIG_MMU is not set
|
||||
|
|
|
@ -18,7 +18,6 @@ CONFIG_KEXEC=y
|
|||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
|
|
|
@ -17,7 +17,6 @@ CONFIG_TC=y
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_LBDAF is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_OSF_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
|
|
|
@ -16,7 +16,6 @@ CONFIG_TC=y
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_LBDAF is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_OSF_PARTITION=y
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
|
|
|
@ -19,7 +19,6 @@ CONFIG_MACH_LOONGSON32=y
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
|
|
|
@ -20,7 +20,6 @@ CONFIG_LOONGSON1_LS1C=y
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
|
|
|
@ -19,7 +19,6 @@ CONFIG_PCI=y
|
|||
# CONFIG_PCI_QUIRKS is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
|
|
|
@ -17,7 +17,6 @@ CONFIG_TOSHIBA_RBTX4938_MPLEX_KEEP=y
|
|||
CONFIG_PCI=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
|
|
|
@ -14,7 +14,6 @@ CONFIG_SLAB=y
|
|||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PA7100LC=y
|
||||
CONFIG_SMP=y
|
||||
|
|
|
@ -19,7 +19,6 @@ CONFIG_SLAB=y
|
|||
CONFIG_PROFILING=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_CFQ_GROUP_IOSCHED=y
|
||||
CONFIG_CPU_SUBTYPE_SH7786=y
|
||||
|
|
|
@ -7,7 +7,6 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_KALLSYMS is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7724=y
|
||||
CONFIG_MEMORY_SIZE=0x10000000
|
||||
|
|
|
@ -16,7 +16,6 @@ CONFIG_PERF_COUNTERS=y
|
|||
CONFIG_SLAB=y
|
||||
CONFIG_MMAP_ALLOW_UNINITIALIZED=y
|
||||
CONFIG_PROFILING=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
|
|
|
@ -3,7 +3,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
|
|
@ -11,7 +11,6 @@ CONFIG_PROFILING=y
|
|||
CONFIG_GCOV_KERNEL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7785=y
|
||||
CONFIG_MEMORY_START=0x40000000
|
||||
|
|
|
@ -26,30 +26,6 @@ menuconfig BLOCK
|
|||
|
||||
if BLOCK
|
||||
|
||||
config LBDAF
|
||||
bool "Support for large (2TB+) block devices and files"
|
||||
depends on !64BIT
|
||||
default y
|
||||
help
|
||||
Enable block devices or files of size 2TB and larger.
|
||||
|
||||
This option is required to support the full capacity of large
|
||||
(2TB+) block devices, including RAID, disk, Network Block Device,
|
||||
Logical Volume Manager (LVM) and loopback.
|
||||
|
||||
This option also enables support for single files larger than
|
||||
2TB.
|
||||
|
||||
The ext4 filesystem requires that this feature be enabled in
|
||||
order to support filesystems that have the huge_file feature
|
||||
enabled. Otherwise, it will refuse to mount in the read-write
|
||||
mode any filesystems that use the huge_file feature, which is
|
||||
enabled by default by mke2fs.ext4.
|
||||
|
||||
The GFS2 filesystem also requires this feature.
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
config BLK_SCSI_REQUEST
|
||||
bool
|
||||
|
||||
|
|
|
@ -1317,10 +1317,6 @@ struct bm_extent {
|
|||
|
||||
#define DRBD_MAX_SECTORS_FIXED_BM \
|
||||
((MD_128MB_SECT - MD_32kB_SECT - MD_4kB_SECT) * (1LL<<(BM_EXT_SHIFT-9)))
|
||||
#if !defined(CONFIG_LBDAF) && BITS_PER_LONG == 32
|
||||
#define DRBD_MAX_SECTORS DRBD_MAX_SECTORS_32
|
||||
#define DRBD_MAX_SECTORS_FLEX DRBD_MAX_SECTORS_32
|
||||
#else
|
||||
#define DRBD_MAX_SECTORS DRBD_MAX_SECTORS_FIXED_BM
|
||||
/* 16 TB in units of sectors */
|
||||
#if BITS_PER_LONG == 32
|
||||
|
@ -1333,7 +1329,6 @@ struct bm_extent {
|
|||
#define DRBD_MAX_SECTORS_FLEX (1UL << 51)
|
||||
/* corresponds to (1UL << 38) bits right now. */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Estimate max bio size as 256 * PAGE_SIZE,
|
||||
* so for typical PAGE_SIZE of 4k, that is (1<<20) Byte.
|
||||
|
|
|
@ -102,7 +102,7 @@ static void ps3disk_scatter_gather(struct ps3_storage_device *dev,
|
|||
|
||||
rq_for_each_segment(bvec, req, iter) {
|
||||
unsigned long flags;
|
||||
dev_dbg(&dev->sbd.core, "%s:%u: bio %u: %u sectors from %lu\n",
|
||||
dev_dbg(&dev->sbd.core, "%s:%u: bio %u: %u sectors from %llu\n",
|
||||
__func__, __LINE__, i, bio_sectors(iter.bio),
|
||||
iter.bio->bi_iter.bi_sector);
|
||||
|
||||
|
@ -496,7 +496,7 @@ static int ps3disk_probe(struct ps3_system_bus_device *_dev)
|
|||
dev->regions[dev->region_idx].size*priv->blocking_factor);
|
||||
|
||||
dev_info(&dev->sbd.core,
|
||||
"%s is a %s (%llu MiB total, %lu MiB for OtherOS)\n",
|
||||
"%s is a %s (%llu MiB total, %llu MiB for OtherOS)\n",
|
||||
gendisk->disk_name, priv->model, priv->raw_capacity >> 11,
|
||||
get_capacity(gendisk) >> 11);
|
||||
|
||||
|
|
|
@ -135,9 +135,8 @@ struct dm_dev *dm_snap_cow(struct dm_snapshot *snap);
|
|||
/*
|
||||
* Funtions to manipulate consecutive chunks
|
||||
*/
|
||||
# if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64)
|
||||
# define DM_CHUNK_CONSECUTIVE_BITS 8
|
||||
# define DM_CHUNK_NUMBER_BITS 56
|
||||
#define DM_CHUNK_CONSECUTIVE_BITS 8
|
||||
#define DM_CHUNK_NUMBER_BITS 56
|
||||
|
||||
static inline chunk_t dm_chunk_number(chunk_t chunk)
|
||||
{
|
||||
|
@ -163,29 +162,6 @@ static inline void dm_consecutive_chunk_count_dec(struct dm_exception *e)
|
|||
e->new_chunk -= (1ULL << DM_CHUNK_NUMBER_BITS);
|
||||
}
|
||||
|
||||
# else
|
||||
# define DM_CHUNK_CONSECUTIVE_BITS 0
|
||||
|
||||
static inline chunk_t dm_chunk_number(chunk_t chunk)
|
||||
{
|
||||
return chunk;
|
||||
}
|
||||
|
||||
static inline unsigned dm_consecutive_chunk_count(struct dm_exception *e)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void dm_consecutive_chunk_count_inc(struct dm_exception *e)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void dm_consecutive_chunk_count_dec(struct dm_exception *e)
|
||||
{
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Return the number of sectors in the device.
|
||||
*/
|
||||
|
|
|
@ -88,14 +88,10 @@ struct journal_entry {
|
|||
|
||||
#if BITS_PER_LONG == 64
|
||||
#define journal_entry_set_sector(je, x) do { smp_wmb(); WRITE_ONCE((je)->u.sector, cpu_to_le64(x)); } while (0)
|
||||
#define journal_entry_get_sector(je) le64_to_cpu((je)->u.sector)
|
||||
#elif defined(CONFIG_LBDAF)
|
||||
#define journal_entry_set_sector(je, x) do { (je)->u.s.sector_lo = cpu_to_le32(x); smp_wmb(); WRITE_ONCE((je)->u.s.sector_hi, cpu_to_le32((x) >> 32)); } while (0)
|
||||
#define journal_entry_get_sector(je) le64_to_cpu((je)->u.sector)
|
||||
#else
|
||||
#define journal_entry_set_sector(je, x) do { (je)->u.s.sector_lo = cpu_to_le32(x); smp_wmb(); WRITE_ONCE((je)->u.s.sector_hi, cpu_to_le32(0)); } while (0)
|
||||
#define journal_entry_get_sector(je) le32_to_cpu((je)->u.s.sector_lo)
|
||||
#define journal_entry_set_sector(je, x) do { (je)->u.s.sector_lo = cpu_to_le32(x); smp_wmb(); WRITE_ONCE((je)->u.s.sector_hi, cpu_to_le32((x) >> 32)); } while (0)
|
||||
#endif
|
||||
#define journal_entry_get_sector(je) le64_to_cpu((je)->u.sector)
|
||||
#define journal_entry_is_unused(je) ((je)->u.s.sector_hi == cpu_to_le32(-1))
|
||||
#define journal_entry_set_unused(je) do { ((je)->u.s.sector_hi = cpu_to_le32(-1)); } while (0)
|
||||
#define journal_entry_is_inprogress(je) ((je)->u.s.sector_hi == cpu_to_le32(-2))
|
||||
|
|
|
@ -1106,8 +1106,7 @@ static int super_90_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor
|
|||
* (not needed for Linear and RAID0 as metadata doesn't
|
||||
* record this size)
|
||||
*/
|
||||
if (IS_ENABLED(CONFIG_LBDAF) && (u64)rdev->sectors >= (2ULL << 32) &&
|
||||
sb->level >= 1)
|
||||
if ((u64)rdev->sectors >= (2ULL << 32) && sb->level >= 1)
|
||||
rdev->sectors = (sector_t)(2ULL << 32) - 2;
|
||||
|
||||
if (rdev->sectors < ((sector_t)sb->size) * 2 && sb->level >= 1)
|
||||
|
@ -1405,8 +1404,7 @@ super_90_rdev_size_change(struct md_rdev *rdev, sector_t num_sectors)
|
|||
/* Limit to 4TB as metadata cannot record more than that.
|
||||
* 4TB == 2^32 KB, or 2*2^32 sectors.
|
||||
*/
|
||||
if (IS_ENABLED(CONFIG_LBDAF) && (u64)num_sectors >= (2ULL << 32) &&
|
||||
rdev->mddev->level >= 1)
|
||||
if ((u64)num_sectors >= (2ULL << 32) && rdev->mddev->level >= 1)
|
||||
num_sectors = (sector_t)(2ULL << 32) - 2;
|
||||
do {
|
||||
md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size,
|
||||
|
|
|
@ -391,7 +391,7 @@ static int nd_pfn_clear_memmap_errors(struct nd_pfn *nd_pfn)
|
|||
bb_present = badblocks_check(&nd_region->bb, meta_start,
|
||||
meta_num, &first_bad, &num_bad);
|
||||
if (bb_present) {
|
||||
dev_dbg(&nd_pfn->dev, "meta: %x badblocks at %lx\n",
|
||||
dev_dbg(&nd_pfn->dev, "meta: %x badblocks at %llx\n",
|
||||
num_bad, first_bad);
|
||||
nsoff = ALIGN_DOWN((nd_region->ndr_start
|
||||
+ (first_bad << 9)) - nsio->res.start,
|
||||
|
@ -410,7 +410,7 @@ static int nd_pfn_clear_memmap_errors(struct nd_pfn *nd_pfn)
|
|||
}
|
||||
if (rc) {
|
||||
dev_err(&nd_pfn->dev,
|
||||
"error clearing %x badblocks at %lx\n",
|
||||
"error clearing %x badblocks at %llx\n",
|
||||
num_bad, first_bad);
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -2256,22 +2256,6 @@ static void read_capacity_error(struct scsi_disk *sdkp, struct scsi_device *sdp,
|
|||
|
||||
#define READ_CAPACITY_RETRIES_ON_RESET 10
|
||||
|
||||
/*
|
||||
* Ensure that we don't overflow sector_t when CONFIG_LBDAF is not set
|
||||
* and the reported logical block size is bigger than 512 bytes. Note
|
||||
* that last_sector is a u64 and therefore logical_to_sectors() is not
|
||||
* applicable.
|
||||
*/
|
||||
static bool sd_addressable_capacity(u64 lba, unsigned int sector_size)
|
||||
{
|
||||
u64 last_sector = (lba + 1ULL) << (ilog2(sector_size) - 9);
|
||||
|
||||
if (sizeof(sector_t) == 4 && last_sector > U32_MAX)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
|
||||
unsigned char *buffer)
|
||||
{
|
||||
|
@ -2337,14 +2321,6 @@ static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
|
|||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (!sd_addressable_capacity(lba, sector_size)) {
|
||||
sd_printk(KERN_ERR, sdkp, "Too big for this kernel. Use a "
|
||||
"kernel compiled with support for large block "
|
||||
"devices.\n");
|
||||
sdkp->capacity = 0;
|
||||
return -EOVERFLOW;
|
||||
}
|
||||
|
||||
/* Logical blocks per physical block exponent */
|
||||
sdkp->physical_block_size = (1 << (buffer[13] & 0xf)) * sector_size;
|
||||
|
||||
|
@ -2426,14 +2402,6 @@ static int read_capacity_10(struct scsi_disk *sdkp, struct scsi_device *sdp,
|
|||
return sector_size;
|
||||
}
|
||||
|
||||
if (!sd_addressable_capacity(lba, sector_size)) {
|
||||
sd_printk(KERN_ERR, sdkp, "Too big for this kernel. Use a "
|
||||
"kernel compiled with support for large block "
|
||||
"devices.\n");
|
||||
sdkp->capacity = 0;
|
||||
return -EOVERFLOW;
|
||||
}
|
||||
|
||||
sdkp->capacity = lba + 1;
|
||||
sdkp->physical_block_size = sector_size;
|
||||
return sector_size;
|
||||
|
|
|
@ -1760,8 +1760,6 @@ int ext4_group_extend(struct super_block *sb, struct ext4_super_block *es,
|
|||
ext4_msg(sb, KERN_ERR,
|
||||
"filesystem too large to resize to %llu blocks safely",
|
||||
n_blocks_count);
|
||||
if (sizeof(sector_t) < 8)
|
||||
ext4_warning(sb, "CONFIG_LBDAF not enabled");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -2706,13 +2706,9 @@ static loff_t ext4_max_size(int blkbits, int has_huge_files)
|
|||
loff_t res;
|
||||
loff_t upper_limit = MAX_LFS_FILESIZE;
|
||||
|
||||
/* small i_blocks in vfs inode? */
|
||||
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
||||
/*
|
||||
* CONFIG_LBDAF is not enabled implies the inode
|
||||
* i_block represent total blocks in 512 bytes
|
||||
* 32 == size of vfs inode i_blocks * 8
|
||||
*/
|
||||
BUILD_BUG_ON(sizeof(blkcnt_t) < sizeof(u64));
|
||||
|
||||
if (!has_huge_files) {
|
||||
upper_limit = (1LL << 32) - 1;
|
||||
|
||||
/* total blocks in file system block size */
|
||||
|
@ -2753,11 +2749,11 @@ static loff_t ext4_max_bitmap_size(int bits, int has_huge_files)
|
|||
* number of 512-byte sectors of the file.
|
||||
*/
|
||||
|
||||
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
||||
if (!has_huge_files) {
|
||||
/*
|
||||
* !has_huge_files or CONFIG_LBDAF not enabled implies that
|
||||
* the inode i_block field represents total file blocks in
|
||||
* 2^32 512-byte sectors == size of vfs inode i_blocks * 8
|
||||
* !has_huge_files or implies that the inode i_block field
|
||||
* represents total file blocks in 2^32 512-byte sectors ==
|
||||
* size of vfs inode i_blocks * 8
|
||||
*/
|
||||
upper_limit = (1LL << 32) - 1;
|
||||
|
||||
|
@ -2897,18 +2893,6 @@ static int ext4_feature_set_ok(struct super_block *sb, int readonly)
|
|||
~EXT4_FEATURE_RO_COMPAT_SUPP));
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* Large file size enabled file system can only be mounted
|
||||
* read-write on 32-bit systems if kernel is built with CONFIG_LBDAF
|
||||
*/
|
||||
if (ext4_has_feature_huge_file(sb)) {
|
||||
if (sizeof(blkcnt_t) < sizeof(u64)) {
|
||||
ext4_msg(sb, KERN_ERR, "Filesystem with huge files "
|
||||
"cannot be mounted RDWR without "
|
||||
"CONFIG_LBDAF");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (ext4_has_feature_bigalloc(sb) && !ext4_has_feature_extents(sb)) {
|
||||
ext4_msg(sb, KERN_ERR,
|
||||
"Can't support bigalloc feature without "
|
||||
|
@ -4057,8 +4041,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
|||
if (err) {
|
||||
ext4_msg(sb, KERN_ERR, "filesystem"
|
||||
" too large to mount safely on this system");
|
||||
if (sizeof(sector_t) < 8)
|
||||
ext4_msg(sb, KERN_WARNING, "CONFIG_LBDAF not enabled");
|
||||
goto failed_mount;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
config GFS2_FS
|
||||
tristate "GFS2 file system support"
|
||||
depends on (64BIT || LBDAF)
|
||||
select FS_POSIX_ACL
|
||||
select CRC32
|
||||
select LIBCRC32C
|
||||
|
|
|
@ -121,7 +121,6 @@ config PNFS_FILE_LAYOUT
|
|||
config PNFS_BLOCK
|
||||
tristate
|
||||
depends on NFS_V4_1 && BLK_DEV_DM
|
||||
depends on 64BIT || LBDAF
|
||||
default NFS_V4
|
||||
|
||||
config PNFS_FLEXFILE_LAYOUT
|
||||
|
|
|
@ -600,7 +600,6 @@ static unsigned long long ocfs2_max_file_offset(unsigned int bbits,
|
|||
*/
|
||||
|
||||
#if BITS_PER_LONG == 32
|
||||
# if defined(CONFIG_LBDAF)
|
||||
BUILD_BUG_ON(sizeof(sector_t) != 8);
|
||||
/*
|
||||
* We might be limited by page cache size.
|
||||
|
@ -614,15 +613,6 @@ static unsigned long long ocfs2_max_file_offset(unsigned int bbits,
|
|||
*/
|
||||
bitshift = 31;
|
||||
}
|
||||
# else
|
||||
/*
|
||||
* We are limited by the size of sector_t. Use block size, as
|
||||
* that's what we expose to the VFS.
|
||||
*/
|
||||
bytes = 1 << bbits;
|
||||
trim = 1;
|
||||
bitshift = 31;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
15
fs/stack.c
15
fs/stack.c
|
@ -21,11 +21,10 @@ void fsstack_copy_inode_size(struct inode *dst, struct inode *src)
|
|||
i_size = i_size_read(src);
|
||||
|
||||
/*
|
||||
* But if CONFIG_LBDAF (on 32-bit), we ought to make an effort to
|
||||
* keep the two halves of i_blocks in sync despite SMP or PREEMPT -
|
||||
* though stat's generic_fillattr() doesn't bother, and we won't be
|
||||
* applying quotas (where i_blocks does become important) at the
|
||||
* upper level.
|
||||
* But on 32-bit, we ought to make an effort to keep the two halves of
|
||||
* i_blocks in sync despite SMP or PREEMPT - though stat's
|
||||
* generic_fillattr() doesn't bother, and we won't be applying quotas
|
||||
* (where i_blocks does become important) at the upper level.
|
||||
*
|
||||
* We don't actually know what locking is used at the lower level;
|
||||
* but if it's a filesystem that supports quotas, it will be using
|
||||
|
@ -44,9 +43,9 @@ void fsstack_copy_inode_size(struct inode *dst, struct inode *src)
|
|||
* include/linux/fs.h). We don't necessarily hold i_mutex when this
|
||||
* is called, so take i_lock for that case.
|
||||
*
|
||||
* And if CONFIG_LBDAF (on 32-bit), continue our effort to keep the
|
||||
* two halves of i_blocks in sync despite SMP or PREEMPT: use i_lock
|
||||
* for that case too, and do both at once by combining the tests.
|
||||
* And if on 32-bit, continue our effort to keep the two halves of
|
||||
* i_blocks in sync despite SMP or PREEMPT: use i_lock for that case
|
||||
* too, and do both at once by combining the tests.
|
||||
*
|
||||
* There is none of this locking overhead in the 64-bit case.
|
||||
*/
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
config XFS_FS
|
||||
tristate "XFS filesystem support"
|
||||
depends on BLOCK
|
||||
depends on (64BIT || LBDAF)
|
||||
select EXPORTFS
|
||||
select LIBCRC32C
|
||||
select FS_IOMAP
|
||||
|
|
|
@ -539,26 +539,18 @@ xfs_max_file_offset(
|
|||
|
||||
/* Figure out maximum filesize, on Linux this can depend on
|
||||
* the filesystem blocksize (on 32 bit platforms).
|
||||
* __block_write_begin does this in an [unsigned] long...
|
||||
* __block_write_begin does this in an [unsigned] long long...
|
||||
* page->index << (PAGE_SHIFT - bbits)
|
||||
* So, for page sized blocks (4K on 32 bit platforms),
|
||||
* this wraps at around 8Tb (hence MAX_LFS_FILESIZE which is
|
||||
* (((u64)PAGE_SIZE << (BITS_PER_LONG-1))-1)
|
||||
* but for smaller blocksizes it is less (bbits = log2 bsize).
|
||||
* Note1: get_block_t takes a long (implicit cast from above)
|
||||
* Note2: The Large Block Device (LBD and HAVE_SECTOR_T) patch
|
||||
* can optionally convert the [unsigned] long from above into
|
||||
* an [unsigned] long long.
|
||||
*/
|
||||
|
||||
#if BITS_PER_LONG == 32
|
||||
# if defined(CONFIG_LBDAF)
|
||||
ASSERT(sizeof(sector_t) == 8);
|
||||
pagefactor = PAGE_SIZE;
|
||||
bitshift = BITS_PER_LONG;
|
||||
# else
|
||||
pagefactor = PAGE_SIZE >> (PAGE_SHIFT - blockshift);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
return (((uint64_t)pagefactor) << bitshift) - 1;
|
||||
|
|
|
@ -714,7 +714,7 @@ static inline void hd_free_part(struct hd_struct *part)
|
|||
*/
|
||||
static inline sector_t part_nr_sects_read(struct hd_struct *part)
|
||||
{
|
||||
#if BITS_PER_LONG==32 && defined(CONFIG_LBDAF) && defined(CONFIG_SMP)
|
||||
#if BITS_PER_LONG==32 && defined(CONFIG_SMP)
|
||||
sector_t nr_sects;
|
||||
unsigned seq;
|
||||
do {
|
||||
|
@ -722,7 +722,7 @@ static inline sector_t part_nr_sects_read(struct hd_struct *part)
|
|||
nr_sects = part->nr_sects;
|
||||
} while (read_seqcount_retry(&part->nr_sects_seq, seq));
|
||||
return nr_sects;
|
||||
#elif BITS_PER_LONG==32 && defined(CONFIG_LBDAF) && defined(CONFIG_PREEMPT)
|
||||
#elif BITS_PER_LONG==32 && defined(CONFIG_PREEMPT)
|
||||
sector_t nr_sects;
|
||||
|
||||
preempt_disable();
|
||||
|
@ -741,11 +741,11 @@ static inline sector_t part_nr_sects_read(struct hd_struct *part)
|
|||
*/
|
||||
static inline void part_nr_sects_write(struct hd_struct *part, sector_t size)
|
||||
{
|
||||
#if BITS_PER_LONG==32 && defined(CONFIG_LBDAF) && defined(CONFIG_SMP)
|
||||
#if BITS_PER_LONG==32 && defined(CONFIG_SMP)
|
||||
write_seqcount_begin(&part->nr_sects_seq);
|
||||
part->nr_sects = size;
|
||||
write_seqcount_end(&part->nr_sects_seq);
|
||||
#elif BITS_PER_LONG==32 && defined(CONFIG_LBDAF) && defined(CONFIG_PREEMPT)
|
||||
#elif BITS_PER_LONG==32 && defined(CONFIG_PREEMPT)
|
||||
preempt_disable();
|
||||
part->nr_sects = size;
|
||||
preempt_enable();
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <asm/byteorder.h>
|
||||
#include <asm/div64.h>
|
||||
#include <uapi/linux/kernel.h>
|
||||
#include <asm/div64.h>
|
||||
|
||||
#define STACK_MAGIC 0xdeadbeef
|
||||
|
||||
|
@ -175,18 +176,7 @@
|
|||
#define _RET_IP_ (unsigned long)__builtin_return_address(0)
|
||||
#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; })
|
||||
|
||||
#ifdef CONFIG_LBDAF
|
||||
# define sector_div(a, b) do_div(a, b)
|
||||
#else
|
||||
# define sector_div(n, b)( \
|
||||
{ \
|
||||
int _res; \
|
||||
_res = (n) % (b); \
|
||||
(n) /= (b); \
|
||||
_res; \
|
||||
} \
|
||||
)
|
||||
#endif
|
||||
#define sector_div(a, b) do_div(a, b)
|
||||
|
||||
/**
|
||||
* upper_32_bits - return bits 32-63 of a number
|
||||
|
|
|
@ -127,13 +127,8 @@ typedef s64 int64_t;
|
|||
*
|
||||
* blkcnt_t is the type of the inode's block count.
|
||||
*/
|
||||
#ifdef CONFIG_LBDAF
|
||||
typedef u64 sector_t;
|
||||
typedef u64 blkcnt_t;
|
||||
#else
|
||||
typedef unsigned long sector_t;
|
||||
typedef unsigned long blkcnt_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The type of an index into the pagecache.
|
||||
|
|
|
@ -1927,7 +1927,6 @@ config TEST_STATIC_KEYS
|
|||
config TEST_KMOD
|
||||
tristate "kmod stress tester"
|
||||
depends on m
|
||||
depends on BLOCK && (64BIT || LBDAF) # for XFS, BTRFS
|
||||
depends on NETDEVICES && NET_CORE && INET # for TUN
|
||||
select TEST_LKM
|
||||
select XFS_FS
|
||||
|
|
|
@ -59,11 +59,7 @@ typedef __u32 uint32_t;
|
|||
*
|
||||
* blkcnt_t is the type of the inode's block count.
|
||||
*/
|
||||
#ifdef CONFIG_LBDAF
|
||||
typedef u64 sector_t;
|
||||
#else
|
||||
typedef unsigned long sector_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The type of an index into the pagecache.
|
||||
|
|
Загрузка…
Ссылка в новой задаче