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:
parent
75199aa526
commit
72deb455b5
Documentation
arch
arc/configs
haps_hs_defconfighaps_hs_smp_defconfignsim_700_defconfignsim_hs_defconfignsim_hs_smp_defconfignsimosci_defconfignsimosci_hs_defconfignsimosci_hs_smp_defconfig
arm/configs
aspeed_g4_defconfigaspeed_g5_defconfigat91_dt_defconfigclps711x_defconfigefm32_defconfigezx_defconfigh3600_defconfigimote2_defconfigmoxart_defconfigmulti_v4t_defconfigomap1_defconfigstm32_defconfigu300_defconfigvexpress_defconfig
m68k/configs
mips/configs
ar7_defconfigdecstation_defconfigdecstation_r4k_defconfigloongson1b_defconfigloongson1c_defconfigrb532_defconfigrbtx49xx_defconfig
parisc/configs
sh/configs
block
drivers
fs
include/linux
lib
tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux
@ -72,47 +72,44 @@ and elsewhere regarding submitting Linux kernel patches.
|
|||||||
13) Has been build- and runtime tested with and without ``CONFIG_SMP`` and
|
13) Has been build- and runtime tested with and without ``CONFIG_SMP`` and
|
||||||
``CONFIG_PREEMPT.``
|
``CONFIG_PREEMPT.``
|
||||||
|
|
||||||
14) If the patch affects IO/Disk, etc: has been tested with and without
|
16) All codepaths have been exercised with all lockdep features enabled.
|
||||||
``CONFIG_LBDAF.``
|
|
||||||
|
|
||||||
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/``
|
18) All new kernel boot parameters are documented in
|
||||||
|
|
||||||
17) All new kernel boot parameters are documented in
|
|
||||||
``Documentation/admin-guide/kernel-parameters.rst``.
|
``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.
|
See ``Documentation/ABI/README`` for more information.
|
||||||
Patches that change userspace interfaces should be CCed to
|
Patches that change userspace interfaces should be CCed to
|
||||||
linux-api@vger.kernel.org.
|
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/``.
|
failures. See ``Documentation/fault-injection/``.
|
||||||
|
|
||||||
If the new code is substantial, addition of subsystem-specific fault
|
If the new code is substantial, addition of subsystem-specific fault
|
||||||
injection might be appropriate.
|
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
|
``make EXTRA_CFLAGS=-W``). This will generate lots of noise, but is good
|
||||||
for finding bugs like "warning: comparison between signed and unsigned".
|
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
|
that it still works with all of the other queued patches and various
|
||||||
changes in the VM, VFS, and other subsystems.
|
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
|
comment in the source code that explains the logic of what they are doing
|
||||||
and why.
|
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``.
|
``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,
|
APIs or features that are related to the following ``Kconfig`` symbols,
|
||||||
then test multiple builds with the related ``Kconfig`` symbols disabled
|
then test multiple builds with the related ``Kconfig`` symbols disabled
|
||||||
and/or ``=m`` (if that option is available) [not all of these at the
|
and/or ``=m`` (if that option is available) [not all of these at the
|
||||||
|
@ -74,38 +74,34 @@ Linux カーネルパッチ投稿者向けチェックリスト
|
|||||||
13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
|
13: CONFIG_SMP, CONFIG_PREEMPT を有効にした場合と無効にした場合の両方で
|
||||||
ビルドした上、動作確認を行ってください。
|
ビルドした上、動作確認を行ってください。
|
||||||
|
|
||||||
14: もしパッチがディスクのI/O性能などに影響を与えるようであれば、
|
14: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
|
||||||
'CONFIG_LBDAF'オプションを有効にした場合と無効にした場合の両方で
|
|
||||||
テストを実施してみてください。
|
|
||||||
|
|
||||||
15: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
|
15: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
|
||||||
|
|
||||||
16: /proc に新しいエントリを追加した場合には、Documentation/ 配下に
|
|
||||||
必ずドキュメントを追加してください。
|
必ずドキュメントを追加してください。
|
||||||
|
|
||||||
17: 新しいブートパラメータを追加した場合には、
|
16: 新しいブートパラメータを追加した場合には、
|
||||||
必ずDocumentation/admin-guide/kernel-parameters.rst に説明を追加してください。
|
必ず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 を参考にして必ずドキュメントを追加してください。
|
Documentation/ABI/README を参考にして必ずドキュメントを追加してください。
|
||||||
|
|
||||||
20: 'make headers_check'を実行して全く問題がないことを確認してください。
|
19: 'make headers_check'を実行して全く問題がないことを確認してください。
|
||||||
|
|
||||||
21: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
|
20: 少なくともslabアロケーションとpageアロケーションに失敗した場合の
|
||||||
挙動について、fault-injectionを利用して確認してください。
|
挙動について、fault-injectionを利用して確認してください。
|
||||||
Documentation/fault-injection/ を参照してください。
|
Documentation/fault-injection/ を参照してください。
|
||||||
|
|
||||||
追加したコードがかなりの量であったならば、サブシステム特有の
|
追加したコードがかなりの量であったならば、サブシステム特有の
|
||||||
fault-injectionを追加したほうが良いかもしれません。
|
fault-injectionを追加したほうが良いかもしれません。
|
||||||
|
|
||||||
22: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
|
21: 新たに追加したコードは、`gcc -W'でコンパイルしてください。
|
||||||
このオプションは大量の不要なメッセージを出力しますが、
|
このオプションは大量の不要なメッセージを出力しますが、
|
||||||
"warning: comparison between signed and unsigned" のようなメッセージは、
|
"warning: comparison between signed and unsigned" のようなメッセージは、
|
||||||
バグを見つけるのに役に立ちます。
|
バグを見つけるのに役に立ちます。
|
||||||
|
|
||||||
23: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
|
22: 投稿したパッチが -mm パッチセットにマージされた後、全ての既存のパッチや
|
||||||
VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
|
VM, VFS およびその他のサブシステムに関する様々な変更と、現時点でも共存
|
||||||
できることを確認するテストを行ってください。
|
できることを確認するテストを行ってください。
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_PERF_EVENTS=y
|
|||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_PERF_EVENTS=y
|
|||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_KPROBES=y
|
CONFIG_KPROBES=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_PERF_EVENTS=y
|
|||||||
CONFIG_ISA_ARCOMPACT=y
|
CONFIG_ISA_ARCOMPACT=y
|
||||||
CONFIG_KPROBES=y
|
CONFIG_KPROBES=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -20,7 +20,6 @@ CONFIG_MODULES=y
|
|||||||
CONFIG_MODULE_FORCE_LOAD=y
|
CONFIG_MODULE_FORCE_LOAD=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_MODULES=y
|
|||||||
CONFIG_MODULE_FORCE_LOAD=y
|
CONFIG_MODULE_FORCE_LOAD=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_PERF_EVENTS=y
|
|||||||
CONFIG_ISA_ARCOMPACT=y
|
CONFIG_ISA_ARCOMPACT=y
|
||||||
CONFIG_KPROBES=y
|
CONFIG_KPROBES=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_PERF_EVENTS=y
|
|||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_KPROBES=y
|
CONFIG_KPROBES=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -12,7 +12,6 @@ CONFIG_PERF_EVENTS=y
|
|||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
CONFIG_KPROBES=y
|
CONFIG_KPROBES=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -23,7 +23,6 @@ CONFIG_SLAB_FREELIST_RANDOM=y
|
|||||||
CONFIG_JUMP_LABEL=y
|
CONFIG_JUMP_LABEL=y
|
||||||
CONFIG_STRICT_KERNEL_RWX=y
|
CONFIG_STRICT_KERNEL_RWX=y
|
||||||
CONFIG_GCC_PLUGINS=y
|
CONFIG_GCC_PLUGINS=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_BLK_DEBUG_FS is not set
|
# CONFIG_BLK_DEBUG_FS is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
|
@ -23,7 +23,6 @@ CONFIG_SLAB_FREELIST_RANDOM=y
|
|||||||
CONFIG_JUMP_LABEL=y
|
CONFIG_JUMP_LABEL=y
|
||||||
CONFIG_STRICT_KERNEL_RWX=y
|
CONFIG_STRICT_KERNEL_RWX=y
|
||||||
CONFIG_GCC_PLUGINS=y
|
CONFIG_GCC_PLUGINS=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_BLK_DEBUG_FS is not set
|
# CONFIG_BLK_DEBUG_FS is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
|
@ -9,7 +9,6 @@ CONFIG_EMBEDDED=y
|
|||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -6,7 +6,6 @@ CONFIG_RD_LZMA=y
|
|||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
CONFIG_SLOB=y
|
CONFIG_SLOB=y
|
||||||
CONFIG_JUMP_LABEL=y
|
CONFIG_JUMP_LABEL=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
CONFIG_ARCH_CLPS711X=y
|
CONFIG_ARCH_CLPS711X=y
|
||||||
|
@ -11,7 +11,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -13,7 +13,6 @@ CONFIG_MODULES=y
|
|||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
CONFIG_MODVERSIONS=y
|
CONFIG_MODVERSIONS=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
CONFIG_ARCH_PXA=y
|
CONFIG_ARCH_PXA=y
|
||||||
|
@ -4,7 +4,6 @@ CONFIG_HIGH_RES_TIMERS=y
|
|||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -12,7 +12,6 @@ CONFIG_MODULES=y
|
|||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
CONFIG_MODVERSIONS=y
|
CONFIG_MODVERSIONS=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
CONFIG_ARCH_PXA=y
|
CONFIG_ARCH_PXA=y
|
||||||
|
@ -15,7 +15,6 @@ CONFIG_EMBEDDED=y
|
|||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
CONFIG_ARCH_MULTI_V4=y
|
CONFIG_ARCH_MULTI_V4=y
|
||||||
|
@ -5,7 +5,6 @@ CONFIG_BLK_DEV_INITRD=y
|
|||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
CONFIG_SLOB=y
|
CONFIG_SLOB=y
|
||||||
CONFIG_JUMP_LABEL=y
|
CONFIG_JUMP_LABEL=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
CONFIG_ARCH_MULTI_V4T=y
|
CONFIG_ARCH_MULTI_V4T=y
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_OPROFILE=y
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -13,7 +13,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -9,7 +9,6 @@ CONFIG_EXPERT=y
|
|||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_PROFILING=y
|
|||||||
CONFIG_OPROFILE=y
|
CONFIG_OPROFILE=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -12,7 +12,6 @@ CONFIG_EMBEDDED=y
|
|||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_SLUB_DEBUG is not set
|
# CONFIG_SLUB_DEBUG is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
# CONFIG_MMU is not set
|
# CONFIG_MMU is not set
|
||||||
|
@ -11,7 +11,6 @@ CONFIG_SYSCTL_SYSCALL=y
|
|||||||
# CONFIG_AIO is not set
|
# CONFIG_AIO is not set
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
# CONFIG_COMPAT_BRK is not set
|
# CONFIG_COMPAT_BRK is not set
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_BLK_CMDLINE_PARSER=y
|
CONFIG_BLK_CMDLINE_PARSER=y
|
||||||
# CONFIG_MMU is not set
|
# CONFIG_MMU is not set
|
||||||
|
@ -18,7 +18,6 @@ CONFIG_KEXEC=y
|
|||||||
# CONFIG_SECCOMP is not set
|
# CONFIG_SECCOMP is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
CONFIG_BSD_DISKLABEL=y
|
CONFIG_BSD_DISKLABEL=y
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_TC=y
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
CONFIG_OSF_PARTITION=y
|
CONFIG_OSF_PARTITION=y
|
||||||
# CONFIG_EFI_PARTITION is not set
|
# CONFIG_EFI_PARTITION is not set
|
||||||
|
@ -16,7 +16,6 @@ CONFIG_TC=y
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
CONFIG_OSF_PARTITION=y
|
CONFIG_OSF_PARTITION=y
|
||||||
# CONFIG_EFI_PARTITION is not set
|
# CONFIG_EFI_PARTITION is not set
|
||||||
|
@ -19,7 +19,6 @@ CONFIG_MACH_LOONGSON32=y
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODVERSIONS=y
|
CONFIG_MODVERSIONS=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
|
@ -20,7 +20,6 @@ CONFIG_LOONGSON1_LS1C=y
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODVERSIONS=y
|
CONFIG_MODVERSIONS=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
|
@ -19,7 +19,6 @@ CONFIG_PCI=y
|
|||||||
# CONFIG_PCI_QUIRKS is not set
|
# CONFIG_PCI_QUIRKS is not set
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
CONFIG_MAC_PARTITION=y
|
CONFIG_MAC_PARTITION=y
|
||||||
|
@ -17,7 +17,6 @@ CONFIG_TOSHIBA_RBTX4938_MPLEX_KEEP=y
|
|||||||
CONFIG_PCI=y
|
CONFIG_PCI=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_NET=y
|
CONFIG_NET=y
|
||||||
CONFIG_PACKET=y
|
CONFIG_PACKET=y
|
||||||
|
@ -14,7 +14,6 @@ CONFIG_SLAB=y
|
|||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_PA7100LC=y
|
CONFIG_PA7100LC=y
|
||||||
CONFIG_SMP=y
|
CONFIG_SMP=y
|
||||||
|
@ -19,7 +19,6 @@ CONFIG_SLAB=y
|
|||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_CFQ_GROUP_IOSCHED=y
|
CONFIG_CFQ_GROUP_IOSCHED=y
|
||||||
CONFIG_CPU_SUBTYPE_SH7786=y
|
CONFIG_CPU_SUBTYPE_SH7786=y
|
||||||
|
@ -7,7 +7,6 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
# CONFIG_KALLSYMS is not set
|
# CONFIG_KALLSYMS is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_CPU_SUBTYPE_SH7724=y
|
CONFIG_CPU_SUBTYPE_SH7724=y
|
||||||
CONFIG_MEMORY_SIZE=0x10000000
|
CONFIG_MEMORY_SIZE=0x10000000
|
||||||
|
@ -16,7 +16,6 @@ CONFIG_PERF_COUNTERS=y
|
|||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
CONFIG_MMAP_ALLOW_UNINITIALIZED=y
|
CONFIG_MMAP_ALLOW_UNINITIALIZED=y
|
||||||
CONFIG_PROFILING=y
|
CONFIG_PROFILING=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_PARTITION_ADVANCED=y
|
CONFIG_PARTITION_ADVANCED=y
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
|
@ -3,7 +3,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||||
CONFIG_SLAB=y
|
CONFIG_SLAB=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
# CONFIG_IOSCHED_DEADLINE is not set
|
# CONFIG_IOSCHED_DEADLINE is not set
|
||||||
# CONFIG_IOSCHED_CFQ is not set
|
# CONFIG_IOSCHED_CFQ is not set
|
||||||
|
@ -11,7 +11,6 @@ CONFIG_PROFILING=y
|
|||||||
CONFIG_GCOV_KERNEL=y
|
CONFIG_GCOV_KERNEL=y
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
CONFIG_MODULE_UNLOAD=y
|
CONFIG_MODULE_UNLOAD=y
|
||||||
# CONFIG_LBDAF is not set
|
|
||||||
# CONFIG_BLK_DEV_BSG is not set
|
# CONFIG_BLK_DEV_BSG is not set
|
||||||
CONFIG_CPU_SUBTYPE_SH7785=y
|
CONFIG_CPU_SUBTYPE_SH7785=y
|
||||||
CONFIG_MEMORY_START=0x40000000
|
CONFIG_MEMORY_START=0x40000000
|
||||||
|
@ -26,30 +26,6 @@ menuconfig BLOCK
|
|||||||
|
|
||||||
if 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
|
config BLK_SCSI_REQUEST
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
@ -1317,10 +1317,6 @@ struct bm_extent {
|
|||||||
|
|
||||||
#define DRBD_MAX_SECTORS_FIXED_BM \
|
#define DRBD_MAX_SECTORS_FIXED_BM \
|
||||||
((MD_128MB_SECT - MD_32kB_SECT - MD_4kB_SECT) * (1LL<<(BM_EXT_SHIFT-9)))
|
((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
|
#define DRBD_MAX_SECTORS DRBD_MAX_SECTORS_FIXED_BM
|
||||||
/* 16 TB in units of sectors */
|
/* 16 TB in units of sectors */
|
||||||
#if BITS_PER_LONG == 32
|
#if BITS_PER_LONG == 32
|
||||||
@ -1333,7 +1329,6 @@ struct bm_extent {
|
|||||||
#define DRBD_MAX_SECTORS_FLEX (1UL << 51)
|
#define DRBD_MAX_SECTORS_FLEX (1UL << 51)
|
||||||
/* corresponds to (1UL << 38) bits right now. */
|
/* corresponds to (1UL << 38) bits right now. */
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Estimate max bio size as 256 * PAGE_SIZE,
|
/* Estimate max bio size as 256 * PAGE_SIZE,
|
||||||
* so for typical PAGE_SIZE of 4k, that is (1<<20) Byte.
|
* 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) {
|
rq_for_each_segment(bvec, req, iter) {
|
||||||
unsigned long flags;
|
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),
|
__func__, __LINE__, i, bio_sectors(iter.bio),
|
||||||
iter.bio->bi_iter.bi_sector);
|
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->regions[dev->region_idx].size*priv->blocking_factor);
|
||||||
|
|
||||||
dev_info(&dev->sbd.core,
|
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,
|
gendisk->disk_name, priv->model, priv->raw_capacity >> 11,
|
||||||
get_capacity(gendisk) >> 11);
|
get_capacity(gendisk) >> 11);
|
||||||
|
|
||||||
|
@ -135,9 +135,8 @@ struct dm_dev *dm_snap_cow(struct dm_snapshot *snap);
|
|||||||
/*
|
/*
|
||||||
* Funtions to manipulate consecutive chunks
|
* Funtions to manipulate consecutive chunks
|
||||||
*/
|
*/
|
||||||
# if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64)
|
#define DM_CHUNK_CONSECUTIVE_BITS 8
|
||||||
# define DM_CHUNK_CONSECUTIVE_BITS 8
|
#define DM_CHUNK_NUMBER_BITS 56
|
||||||
# define DM_CHUNK_NUMBER_BITS 56
|
|
||||||
|
|
||||||
static inline chunk_t dm_chunk_number(chunk_t chunk)
|
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);
|
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.
|
* Return the number of sectors in the device.
|
||||||
*/
|
*/
|
||||||
|
@ -88,14 +88,10 @@ struct journal_entry {
|
|||||||
|
|
||||||
#if BITS_PER_LONG == 64
|
#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_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
|
#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_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) le32_to_cpu((je)->u.s.sector_lo)
|
|
||||||
#endif
|
#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_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_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))
|
#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
|
* (not needed for Linear and RAID0 as metadata doesn't
|
||||||
* record this size)
|
* record this size)
|
||||||
*/
|
*/
|
||||||
if (IS_ENABLED(CONFIG_LBDAF) && (u64)rdev->sectors >= (2ULL << 32) &&
|
if ((u64)rdev->sectors >= (2ULL << 32) && sb->level >= 1)
|
||||||
sb->level >= 1)
|
|
||||||
rdev->sectors = (sector_t)(2ULL << 32) - 2;
|
rdev->sectors = (sector_t)(2ULL << 32) - 2;
|
||||||
|
|
||||||
if (rdev->sectors < ((sector_t)sb->size) * 2 && sb->level >= 1)
|
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.
|
/* Limit to 4TB as metadata cannot record more than that.
|
||||||
* 4TB == 2^32 KB, or 2*2^32 sectors.
|
* 4TB == 2^32 KB, or 2*2^32 sectors.
|
||||||
*/
|
*/
|
||||||
if (IS_ENABLED(CONFIG_LBDAF) && (u64)num_sectors >= (2ULL << 32) &&
|
if ((u64)num_sectors >= (2ULL << 32) && rdev->mddev->level >= 1)
|
||||||
rdev->mddev->level >= 1)
|
|
||||||
num_sectors = (sector_t)(2ULL << 32) - 2;
|
num_sectors = (sector_t)(2ULL << 32) - 2;
|
||||||
do {
|
do {
|
||||||
md_super_write(rdev->mddev, rdev, rdev->sb_start, rdev->sb_size,
|
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,
|
bb_present = badblocks_check(&nd_region->bb, meta_start,
|
||||||
meta_num, &first_bad, &num_bad);
|
meta_num, &first_bad, &num_bad);
|
||||||
if (bb_present) {
|
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);
|
num_bad, first_bad);
|
||||||
nsoff = ALIGN_DOWN((nd_region->ndr_start
|
nsoff = ALIGN_DOWN((nd_region->ndr_start
|
||||||
+ (first_bad << 9)) - nsio->res.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) {
|
if (rc) {
|
||||||
dev_err(&nd_pfn->dev,
|
dev_err(&nd_pfn->dev,
|
||||||
"error clearing %x badblocks at %lx\n",
|
"error clearing %x badblocks at %llx\n",
|
||||||
num_bad, first_bad);
|
num_bad, first_bad);
|
||||||
return rc;
|
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
|
#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,
|
static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
|
||||||
unsigned char *buffer)
|
unsigned char *buffer)
|
||||||
{
|
{
|
||||||
@ -2337,14 +2321,6 @@ static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
|
|||||||
return -ENODEV;
|
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 */
|
/* Logical blocks per physical block exponent */
|
||||||
sdkp->physical_block_size = (1 << (buffer[13] & 0xf)) * sector_size;
|
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;
|
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->capacity = lba + 1;
|
||||||
sdkp->physical_block_size = sector_size;
|
sdkp->physical_block_size = sector_size;
|
||||||
return 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,
|
ext4_msg(sb, KERN_ERR,
|
||||||
"filesystem too large to resize to %llu blocks safely",
|
"filesystem too large to resize to %llu blocks safely",
|
||||||
n_blocks_count);
|
n_blocks_count);
|
||||||
if (sizeof(sector_t) < 8)
|
|
||||||
ext4_warning(sb, "CONFIG_LBDAF not enabled");
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2706,13 +2706,9 @@ static loff_t ext4_max_size(int blkbits, int has_huge_files)
|
|||||||
loff_t res;
|
loff_t res;
|
||||||
loff_t upper_limit = MAX_LFS_FILESIZE;
|
loff_t upper_limit = MAX_LFS_FILESIZE;
|
||||||
|
|
||||||
/* small i_blocks in vfs inode? */
|
BUILD_BUG_ON(sizeof(blkcnt_t) < sizeof(u64));
|
||||||
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
|
||||||
/*
|
if (!has_huge_files) {
|
||||||
* CONFIG_LBDAF is not enabled implies the inode
|
|
||||||
* i_block represent total blocks in 512 bytes
|
|
||||||
* 32 == size of vfs inode i_blocks * 8
|
|
||||||
*/
|
|
||||||
upper_limit = (1LL << 32) - 1;
|
upper_limit = (1LL << 32) - 1;
|
||||||
|
|
||||||
/* total blocks in file system block size */
|
/* 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.
|
* 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
|
* !has_huge_files or implies that the inode i_block field
|
||||||
* the inode i_block field represents total file blocks in
|
* represents total file blocks in 2^32 512-byte sectors ==
|
||||||
* 2^32 512-byte sectors == size of vfs inode i_blocks * 8
|
* size of vfs inode i_blocks * 8
|
||||||
*/
|
*/
|
||||||
upper_limit = (1LL << 32) - 1;
|
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));
|
~EXT4_FEATURE_RO_COMPAT_SUPP));
|
||||||
return 0;
|
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)) {
|
if (ext4_has_feature_bigalloc(sb) && !ext4_has_feature_extents(sb)) {
|
||||||
ext4_msg(sb, KERN_ERR,
|
ext4_msg(sb, KERN_ERR,
|
||||||
"Can't support bigalloc feature without "
|
"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) {
|
if (err) {
|
||||||
ext4_msg(sb, KERN_ERR, "filesystem"
|
ext4_msg(sb, KERN_ERR, "filesystem"
|
||||||
" too large to mount safely on this system");
|
" 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;
|
goto failed_mount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
config GFS2_FS
|
config GFS2_FS
|
||||||
tristate "GFS2 file system support"
|
tristate "GFS2 file system support"
|
||||||
depends on (64BIT || LBDAF)
|
|
||||||
select FS_POSIX_ACL
|
select FS_POSIX_ACL
|
||||||
select CRC32
|
select CRC32
|
||||||
select LIBCRC32C
|
select LIBCRC32C
|
||||||
|
@ -121,7 +121,6 @@ config PNFS_FILE_LAYOUT
|
|||||||
config PNFS_BLOCK
|
config PNFS_BLOCK
|
||||||
tristate
|
tristate
|
||||||
depends on NFS_V4_1 && BLK_DEV_DM
|
depends on NFS_V4_1 && BLK_DEV_DM
|
||||||
depends on 64BIT || LBDAF
|
|
||||||
default NFS_V4
|
default NFS_V4
|
||||||
|
|
||||||
config PNFS_FLEXFILE_LAYOUT
|
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 BITS_PER_LONG == 32
|
||||||
# if defined(CONFIG_LBDAF)
|
|
||||||
BUILD_BUG_ON(sizeof(sector_t) != 8);
|
BUILD_BUG_ON(sizeof(sector_t) != 8);
|
||||||
/*
|
/*
|
||||||
* We might be limited by page cache size.
|
* 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;
|
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
|
#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);
|
i_size = i_size_read(src);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* But if CONFIG_LBDAF (on 32-bit), we ought to make an effort to
|
* But on 32-bit, we ought to make an effort to keep the two halves of
|
||||||
* keep the two halves of i_blocks in sync despite SMP or PREEMPT -
|
* i_blocks in sync despite SMP or PREEMPT - though stat's
|
||||||
* though stat's generic_fillattr() doesn't bother, and we won't be
|
* generic_fillattr() doesn't bother, and we won't be applying quotas
|
||||||
* applying quotas (where i_blocks does become important) at the
|
* (where i_blocks does become important) at the upper level.
|
||||||
* upper level.
|
|
||||||
*
|
*
|
||||||
* We don't actually know what locking is used at the lower 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
|
* 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
|
* include/linux/fs.h). We don't necessarily hold i_mutex when this
|
||||||
* is called, so take i_lock for that case.
|
* is called, so take i_lock for that case.
|
||||||
*
|
*
|
||||||
* And if CONFIG_LBDAF (on 32-bit), continue our effort to keep the
|
* And if on 32-bit, continue our effort to keep the two halves of
|
||||||
* two halves of i_blocks in sync despite SMP or PREEMPT: use i_lock
|
* i_blocks in sync despite SMP or PREEMPT: use i_lock for that case
|
||||||
* for that case too, and do both at once by combining the tests.
|
* too, and do both at once by combining the tests.
|
||||||
*
|
*
|
||||||
* There is none of this locking overhead in the 64-bit case.
|
* There is none of this locking overhead in the 64-bit case.
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
config XFS_FS
|
config XFS_FS
|
||||||
tristate "XFS filesystem support"
|
tristate "XFS filesystem support"
|
||||||
depends on BLOCK
|
depends on BLOCK
|
||||||
depends on (64BIT || LBDAF)
|
|
||||||
select EXPORTFS
|
select EXPORTFS
|
||||||
select LIBCRC32C
|
select LIBCRC32C
|
||||||
select FS_IOMAP
|
select FS_IOMAP
|
||||||
|
@ -539,26 +539,18 @@ xfs_max_file_offset(
|
|||||||
|
|
||||||
/* Figure out maximum filesize, on Linux this can depend on
|
/* Figure out maximum filesize, on Linux this can depend on
|
||||||
* the filesystem blocksize (on 32 bit platforms).
|
* 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)
|
* page->index << (PAGE_SHIFT - bbits)
|
||||||
* So, for page sized blocks (4K on 32 bit platforms),
|
* So, for page sized blocks (4K on 32 bit platforms),
|
||||||
* this wraps at around 8Tb (hence MAX_LFS_FILESIZE which is
|
* this wraps at around 8Tb (hence MAX_LFS_FILESIZE which is
|
||||||
* (((u64)PAGE_SIZE << (BITS_PER_LONG-1))-1)
|
* (((u64)PAGE_SIZE << (BITS_PER_LONG-1))-1)
|
||||||
* but for smaller blocksizes it is less (bbits = log2 bsize).
|
* 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 BITS_PER_LONG == 32
|
||||||
# if defined(CONFIG_LBDAF)
|
|
||||||
ASSERT(sizeof(sector_t) == 8);
|
ASSERT(sizeof(sector_t) == 8);
|
||||||
pagefactor = PAGE_SIZE;
|
pagefactor = PAGE_SIZE;
|
||||||
bitshift = BITS_PER_LONG;
|
bitshift = BITS_PER_LONG;
|
||||||
# else
|
|
||||||
pagefactor = PAGE_SIZE >> (PAGE_SHIFT - blockshift);
|
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return (((uint64_t)pagefactor) << bitshift) - 1;
|
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)
|
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;
|
sector_t nr_sects;
|
||||||
unsigned seq;
|
unsigned seq;
|
||||||
do {
|
do {
|
||||||
@ -722,7 +722,7 @@ static inline sector_t part_nr_sects_read(struct hd_struct *part)
|
|||||||
nr_sects = part->nr_sects;
|
nr_sects = part->nr_sects;
|
||||||
} while (read_seqcount_retry(&part->nr_sects_seq, seq));
|
} while (read_seqcount_retry(&part->nr_sects_seq, seq));
|
||||||
return nr_sects;
|
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;
|
sector_t nr_sects;
|
||||||
|
|
||||||
preempt_disable();
|
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)
|
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);
|
write_seqcount_begin(&part->nr_sects_seq);
|
||||||
part->nr_sects = size;
|
part->nr_sects = size;
|
||||||
write_seqcount_end(&part->nr_sects_seq);
|
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();
|
preempt_disable();
|
||||||
part->nr_sects = size;
|
part->nr_sects = size;
|
||||||
preempt_enable();
|
preempt_enable();
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
#include <asm/div64.h>
|
#include <asm/div64.h>
|
||||||
#include <uapi/linux/kernel.h>
|
#include <uapi/linux/kernel.h>
|
||||||
|
#include <asm/div64.h>
|
||||||
|
|
||||||
#define STACK_MAGIC 0xdeadbeef
|
#define STACK_MAGIC 0xdeadbeef
|
||||||
|
|
||||||
@ -175,18 +176,7 @@
|
|||||||
#define _RET_IP_ (unsigned long)__builtin_return_address(0)
|
#define _RET_IP_ (unsigned long)__builtin_return_address(0)
|
||||||
#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; })
|
#define _THIS_IP_ ({ __label__ __here; __here: (unsigned long)&&__here; })
|
||||||
|
|
||||||
#ifdef CONFIG_LBDAF
|
#define sector_div(a, b) do_div(a, b)
|
||||||
# define sector_div(a, b) do_div(a, b)
|
|
||||||
#else
|
|
||||||
# define sector_div(n, b)( \
|
|
||||||
{ \
|
|
||||||
int _res; \
|
|
||||||
_res = (n) % (b); \
|
|
||||||
(n) /= (b); \
|
|
||||||
_res; \
|
|
||||||
} \
|
|
||||||
)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* upper_32_bits - return bits 32-63 of a number
|
* 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.
|
* blkcnt_t is the type of the inode's block count.
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_LBDAF
|
|
||||||
typedef u64 sector_t;
|
typedef u64 sector_t;
|
||||||
typedef u64 blkcnt_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.
|
* The type of an index into the pagecache.
|
||||||
|
@ -1927,7 +1927,6 @@ config TEST_STATIC_KEYS
|
|||||||
config TEST_KMOD
|
config TEST_KMOD
|
||||||
tristate "kmod stress tester"
|
tristate "kmod stress tester"
|
||||||
depends on m
|
depends on m
|
||||||
depends on BLOCK && (64BIT || LBDAF) # for XFS, BTRFS
|
|
||||||
depends on NETDEVICES && NET_CORE && INET # for TUN
|
depends on NETDEVICES && NET_CORE && INET # for TUN
|
||||||
select TEST_LKM
|
select TEST_LKM
|
||||||
select XFS_FS
|
select XFS_FS
|
||||||
|
@ -59,11 +59,7 @@ typedef __u32 uint32_t;
|
|||||||
*
|
*
|
||||||
* blkcnt_t is the type of the inode's block count.
|
* blkcnt_t is the type of the inode's block count.
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_LBDAF
|
|
||||||
typedef u64 sector_t;
|
typedef u64 sector_t;
|
||||||
#else
|
|
||||||
typedef unsigned long sector_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The type of an index into the pagecache.
|
* The type of an index into the pagecache.
|
||||||
|
Loading…
Reference in New Issue
Block a user