Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: Fix kernel-doc parameter name typo in blk-settings.c: block: rename CONFIG_LBD to CONFIG_LBDAF block: Fix bounce_pfn setting hd: stop defining MAJOR_NR
This commit is contained in:
Коммит
31583d6acf
|
@ -54,7 +54,7 @@ kernel patches.
|
||||||
CONFIG_PREEMPT.
|
CONFIG_PREEMPT.
|
||||||
|
|
||||||
14: If the patch affects IO/Disk, etc: has been tested with and without
|
14: If the patch affects IO/Disk, etc: has been tested with and without
|
||||||
CONFIG_LBD.
|
CONFIG_LBDAF.
|
||||||
|
|
||||||
15: All codepaths have been exercised with all lockdep features enabled.
|
15: All codepaths have been exercised with all lockdep features enabled.
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ Linux カーネルパッチ投稿者向けチェックリスト
|
||||||
ビルドした上、動作確認を行ってください。
|
ビルドした上、動作確認を行ってください。
|
||||||
|
|
||||||
14: もしパッチがディスクのI/O性能などに影響を与えるようであれば、
|
14: もしパッチがディスクのI/O性能などに影響を与えるようであれば、
|
||||||
'CONFIG_LBD'オプションを有効にした場合と無効にした場合の両方で
|
'CONFIG_LBDAF'オプションを有効にした場合と無効にした場合の両方で
|
||||||
テストを実施してみてください。
|
テストを実施してみてください。
|
||||||
|
|
||||||
15: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
|
15: lockdepの機能を全て有効にした上で、全てのコードパスを評価してください。
|
||||||
|
|
|
@ -23,8 +23,8 @@ menuconfig BLOCK
|
||||||
|
|
||||||
if BLOCK
|
if BLOCK
|
||||||
|
|
||||||
config LBD
|
config LBDAF
|
||||||
bool "Support for large block devices and files"
|
bool "Support for large (2TB+) block devices and files"
|
||||||
depends on !64BIT
|
depends on !64BIT
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
|
|
|
@ -97,7 +97,7 @@ EXPORT_SYMBOL_GPL(blk_queue_lld_busy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* blk_set_default_limits - reset limits to default values
|
* blk_set_default_limits - reset limits to default values
|
||||||
* @limits: the queue_limits structure to reset
|
* @lim: the queue_limits structure to reset
|
||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* Returns a queue_limit struct to its default state. Can be used by
|
* Returns a queue_limit struct to its default state. Can be used by
|
||||||
|
@ -112,7 +112,7 @@ void blk_set_default_limits(struct queue_limits *lim)
|
||||||
lim->max_segment_size = MAX_SEGMENT_SIZE;
|
lim->max_segment_size = MAX_SEGMENT_SIZE;
|
||||||
lim->max_sectors = lim->max_hw_sectors = SAFE_MAX_SECTORS;
|
lim->max_sectors = lim->max_hw_sectors = SAFE_MAX_SECTORS;
|
||||||
lim->logical_block_size = lim->physical_block_size = lim->io_min = 512;
|
lim->logical_block_size = lim->physical_block_size = lim->io_min = 512;
|
||||||
lim->bounce_pfn = BLK_BOUNCE_ANY;
|
lim->bounce_pfn = (unsigned long)(BLK_BOUNCE_ANY >> PAGE_SHIFT);
|
||||||
lim->alignment_offset = 0;
|
lim->alignment_offset = 0;
|
||||||
lim->io_opt = 0;
|
lim->io_opt = 0;
|
||||||
lim->misaligned = 0;
|
lim->misaligned = 0;
|
||||||
|
|
|
@ -100,8 +100,6 @@ static DEFINE_SPINLOCK(hd_lock);
|
||||||
static struct request_queue *hd_queue;
|
static struct request_queue *hd_queue;
|
||||||
static struct request *hd_req;
|
static struct request *hd_req;
|
||||||
|
|
||||||
#define MAJOR_NR HD_MAJOR
|
|
||||||
|
|
||||||
#define TIMEOUT_VALUE (6*HZ)
|
#define TIMEOUT_VALUE (6*HZ)
|
||||||
#define HD_DELAY 0
|
#define HD_DELAY 0
|
||||||
|
|
||||||
|
@ -712,12 +710,12 @@ static int __init hd_init(void)
|
||||||
{
|
{
|
||||||
int drive;
|
int drive;
|
||||||
|
|
||||||
if (register_blkdev(MAJOR_NR, "hd"))
|
if (register_blkdev(HD_MAJOR, "hd"))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
hd_queue = blk_init_queue(do_hd_request, &hd_lock);
|
hd_queue = blk_init_queue(do_hd_request, &hd_lock);
|
||||||
if (!hd_queue) {
|
if (!hd_queue) {
|
||||||
unregister_blkdev(MAJOR_NR, "hd");
|
unregister_blkdev(HD_MAJOR, "hd");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -751,7 +749,7 @@ static int __init hd_init(void)
|
||||||
struct hd_i_struct *p = &hd_info[drive];
|
struct hd_i_struct *p = &hd_info[drive];
|
||||||
if (!disk)
|
if (!disk)
|
||||||
goto Enomem;
|
goto Enomem;
|
||||||
disk->major = MAJOR_NR;
|
disk->major = HD_MAJOR;
|
||||||
disk->first_minor = drive << 6;
|
disk->first_minor = drive << 6;
|
||||||
disk->fops = &hd_fops;
|
disk->fops = &hd_fops;
|
||||||
sprintf(disk->disk_name, "hd%c", 'a'+drive);
|
sprintf(disk->disk_name, "hd%c", 'a'+drive);
|
||||||
|
@ -795,7 +793,7 @@ out1:
|
||||||
NR_HD = 0;
|
NR_HD = 0;
|
||||||
out:
|
out:
|
||||||
del_timer(&device_timer);
|
del_timer(&device_timer);
|
||||||
unregister_blkdev(MAJOR_NR, "hd");
|
unregister_blkdev(HD_MAJOR, "hd");
|
||||||
blk_cleanup_queue(hd_queue);
|
blk_cleanup_queue(hd_queue);
|
||||||
return -1;
|
return -1;
|
||||||
Enomem:
|
Enomem:
|
||||||
|
|
|
@ -111,7 +111,7 @@ struct dm_exception_store {
|
||||||
/*
|
/*
|
||||||
* Funtions to manipulate consecutive chunks
|
* Funtions to manipulate consecutive chunks
|
||||||
*/
|
*/
|
||||||
# if defined(CONFIG_LBD) || (BITS_PER_LONG == 64)
|
# 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
|
||||||
|
|
||||||
|
|
|
@ -990,7 +990,7 @@ int ext3_group_extend(struct super_block *sb, struct ext3_super_block *es,
|
||||||
sb->s_id, n_blocks_count);
|
sb->s_id, n_blocks_count);
|
||||||
if (sizeof(sector_t) < 8)
|
if (sizeof(sector_t) < 8)
|
||||||
ext3_warning(sb, __func__,
|
ext3_warning(sb, __func__,
|
||||||
"CONFIG_LBD not enabled\n");
|
"CONFIG_LBDAF not enabled\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1812,7 +1812,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
||||||
printk(KERN_ERR "EXT3-fs: filesystem on %s:"
|
printk(KERN_ERR "EXT3-fs: filesystem on %s:"
|
||||||
" too large to mount safely\n", sb->s_id);
|
" too large to mount safely\n", sb->s_id);
|
||||||
if (sizeof(sector_t) < 8)
|
if (sizeof(sector_t) < 8)
|
||||||
printk(KERN_WARNING "EXT3-fs: CONFIG_LBD not "
|
printk(KERN_WARNING "EXT3-fs: CONFIG_LBDAF not "
|
||||||
"enabled\n");
|
"enabled\n");
|
||||||
goto failed_mount;
|
goto failed_mount;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1002,7 +1002,7 @@ int ext4_group_extend(struct super_block *sb, struct ext4_super_block *es,
|
||||||
" too large to resize to %llu blocks safely\n",
|
" too large to resize to %llu blocks safely\n",
|
||||||
sb->s_id, n_blocks_count);
|
sb->s_id, n_blocks_count);
|
||||||
if (sizeof(sector_t) < 8)
|
if (sizeof(sector_t) < 8)
|
||||||
ext4_warning(sb, __func__, "CONFIG_LBD not enabled");
|
ext4_warning(sb, __func__, "CONFIG_LBDAF not enabled");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1959,7 +1959,7 @@ static loff_t ext4_max_size(int blkbits, int has_huge_files)
|
||||||
/* small i_blocks in vfs inode? */
|
/* small i_blocks in vfs inode? */
|
||||||
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
||||||
/*
|
/*
|
||||||
* CONFIG_LBD is not enabled implies the inode
|
* CONFIG_LBDAF is not enabled implies the inode
|
||||||
* i_block represent total blocks in 512 bytes
|
* i_block represent total blocks in 512 bytes
|
||||||
* 32 == size of vfs inode i_blocks * 8
|
* 32 == size of vfs inode i_blocks * 8
|
||||||
*/
|
*/
|
||||||
|
@ -2002,7 +2002,7 @@ static loff_t ext4_max_bitmap_size(int bits, int has_huge_files)
|
||||||
|
|
||||||
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
if (!has_huge_files || sizeof(blkcnt_t) < sizeof(u64)) {
|
||||||
/*
|
/*
|
||||||
* !has_huge_files or CONFIG_LBD not enabled implies that
|
* !has_huge_files or CONFIG_LBDAF not enabled implies that
|
||||||
* the inode i_block field represents total file blocks in
|
* the inode i_block field represents total file blocks in
|
||||||
* 2^32 512-byte sectors == size of vfs inode i_blocks * 8
|
* 2^32 512-byte sectors == size of vfs inode i_blocks * 8
|
||||||
*/
|
*/
|
||||||
|
@ -2440,13 +2440,13 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
||||||
if (has_huge_files) {
|
if (has_huge_files) {
|
||||||
/*
|
/*
|
||||||
* Large file size enabled file system can only be
|
* Large file size enabled file system can only be
|
||||||
* mount if kernel is build with CONFIG_LBD
|
* mount if kernel is build with CONFIG_LBDAF
|
||||||
*/
|
*/
|
||||||
if (sizeof(root->i_blocks) < sizeof(u64) &&
|
if (sizeof(root->i_blocks) < sizeof(u64) &&
|
||||||
!(sb->s_flags & MS_RDONLY)) {
|
!(sb->s_flags & MS_RDONLY)) {
|
||||||
ext4_msg(sb, KERN_ERR, "Filesystem with huge "
|
ext4_msg(sb, KERN_ERR, "Filesystem with huge "
|
||||||
"files cannot be mounted read-write "
|
"files cannot be mounted read-write "
|
||||||
"without CONFIG_LBD");
|
"without CONFIG_LBDAF");
|
||||||
goto failed_mount;
|
goto failed_mount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2570,7 +2570,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
|
||||||
ext4_msg(sb, KERN_ERR, "filesystem"
|
ext4_msg(sb, KERN_ERR, "filesystem"
|
||||||
" too large to mount safely");
|
" too large to mount safely");
|
||||||
if (sizeof(sector_t) < 8)
|
if (sizeof(sector_t) < 8)
|
||||||
ext4_msg(sb, KERN_WARNING, "CONFIG_LBD not enabled");
|
ext4_msg(sb, KERN_WARNING, "CONFIG_LBDAF not enabled");
|
||||||
goto failed_mount;
|
goto failed_mount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
config GFS2_FS
|
config GFS2_FS
|
||||||
tristate "GFS2 file system support"
|
tristate "GFS2 file system support"
|
||||||
depends on EXPERIMENTAL && (64BIT || LBD)
|
depends on EXPERIMENTAL && (64BIT || LBDAF)
|
||||||
select DLM if GFS2_FS_LOCKING_DLM
|
select DLM if GFS2_FS_LOCKING_DLM
|
||||||
select CONFIGFS_FS if GFS2_FS_LOCKING_DLM
|
select CONFIGFS_FS if GFS2_FS_LOCKING_DLM
|
||||||
select SYSFS if GFS2_FS_LOCKING_DLM
|
select SYSFS if GFS2_FS_LOCKING_DLM
|
||||||
|
|
|
@ -552,7 +552,7 @@ static unsigned long long ocfs2_max_file_offset(unsigned int bbits,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if BITS_PER_LONG == 32
|
#if BITS_PER_LONG == 32
|
||||||
# if defined(CONFIG_LBD)
|
# 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.
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
* XFS_BIG_BLKNOS needs block layer disk addresses to be 64 bits.
|
* XFS_BIG_BLKNOS needs block layer disk addresses to be 64 bits.
|
||||||
* XFS_BIG_INUMS requires XFS_BIG_BLKNOS to be set.
|
* XFS_BIG_INUMS requires XFS_BIG_BLKNOS to be set.
|
||||||
*/
|
*/
|
||||||
#if defined(CONFIG_LBD) || (BITS_PER_LONG == 64)
|
#if defined(CONFIG_LBDAF) || (BITS_PER_LONG == 64)
|
||||||
# define XFS_BIG_BLKNOS 1
|
# define XFS_BIG_BLKNOS 1
|
||||||
# define XFS_BIG_INUMS 1
|
# define XFS_BIG_INUMS 1
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -616,7 +616,7 @@ xfs_max_file_offset(
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if BITS_PER_LONG == 32
|
#if BITS_PER_LONG == 32
|
||||||
# if defined(CONFIG_LBD)
|
# if defined(CONFIG_LBDAF)
|
||||||
ASSERT(sizeof(sector_t) == 8);
|
ASSERT(sizeof(sector_t) == 8);
|
||||||
pagefactor = PAGE_CACHE_SIZE;
|
pagefactor = PAGE_CACHE_SIZE;
|
||||||
bitshift = BITS_PER_LONG;
|
bitshift = BITS_PER_LONG;
|
||||||
|
|
|
@ -58,7 +58,7 @@ extern const char linux_proc_banner[];
|
||||||
#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_LBD
|
#ifdef CONFIG_LBDAF
|
||||||
# include <asm/div64.h>
|
# include <asm/div64.h>
|
||||||
# define sector_div(a, b) do_div(a, b)
|
# define sector_div(a, b) do_div(a, b)
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -131,7 +131,7 @@ 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_LBD
|
#ifdef CONFIG_LBDAF
|
||||||
typedef u64 sector_t;
|
typedef u64 sector_t;
|
||||||
typedef u64 blkcnt_t;
|
typedef u64 blkcnt_t;
|
||||||
#else
|
#else
|
||||||
|
|
Загрузка…
Ссылка в новой задаче