lkml.org 
[lkml]   [2002]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: another IDE cleanup: kill duplicated code
On Tue, Feb 12, 2002 at 02:17:48PM +0100, Martin Dalecki wrote:

> So the conclusions is that not just the read_ahead array is bogous now.
> The max_readahead array can be killed entierly from the kernel as well ;-).
>
> The answer is: I'm now confident that you can just remove all the
> max_readahead initialization from the ide code.

Since I've come to the same conclusion, here is the patch. It removes
read_ahead, max_readahead, BLKRAGET, BLKRASET, BLKFRAGET and BLKFRASET
completely.

Comments, Jens?

--
Vojtech Pavlik
SuSE Labs
diff -urN linux-2.5.4/Documentation/cdrom/sbpcd linux-2.5.4-readahead/Documentation/cdrom/sbpcd
--- linux-2.5.4/Documentation/cdrom/sbpcd Thu May 21 03:54:34 1998
+++ linux-2.5.4-readahead/Documentation/cdrom/sbpcd Tue Feb 12 14:26:50 2002
@@ -613,8 +613,8 @@
printf("READ d READ RAW w READ AUDIO A\n");
printf("MS-INFO M TOC T START S\n");
printf("SET EJECTSW X DEVICE D DEBUG Y\n");
- printf("AUDIO_BUFSIZ Z RESET R BLKRASET B\n");
- printf("SET VOLUME v GET VOLUME V\n");
+ printf("AUDIO_BUFSIZ Z RESET R SET VOLUME v\n");
+ printf("GET VOLUME V\n");
}

/*
@@ -881,12 +881,6 @@
case 'R':
rc=ioctl(drive,CDROMRESET);
if (rc<0) printf("CDROMRESET: rc=%d.\n",rc);
- break;
- case 'B': /* set the driver's (?) read ahead value */
- printf("enter read-ahead size: ? ");
- scanf("%d",&i);
- rc=ioctl(drive,BLKRASET,i);
- if (rc<0) printf("BLKRASET: rc=%d.\n",rc);
break;
#ifdef AZT_PRIVATE_IOCTLS /*not supported by every CDROM driver*/
case 'd':
diff -urN linux-2.5.4/arch/mips64/kernel/ioctl32.c linux-2.5.4-readahead/arch/mips64/kernel/ioctl32.c
--- linux-2.5.4/arch/mips64/kernel/ioctl32.c Sat Sep 1 20:01:28 2001
+++ linux-2.5.4-readahead/arch/mips64/kernel/ioctl32.c Tue Feb 12 14:32:28 2002
@@ -760,10 +760,6 @@
IOCTL32_HANDLER(BLKGETSIZE, w_long),

IOCTL32_DEFAULT(BLKFLSBUF),
- IOCTL32_DEFAULT(BLKRASET),
- IOCTL32_HANDLER(BLKRAGET, w_long),
- IOCTL32_DEFAULT(BLKFRASET),
- IOCTL32_HANDLER(BLKFRAGET, w_long),
IOCTL32_DEFAULT(BLKSECTSET),
IOCTL32_HANDLER(BLKSECTGET, w_long),
IOCTL32_DEFAULT(BLKSSZGET),
diff -urN linux-2.5.4/arch/sparc64/kernel/ioctl32.c linux-2.5.4-readahead/arch/sparc64/kernel/ioctl32.c
--- linux-2.5.4/arch/sparc64/kernel/ioctl32.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/arch/sparc64/kernel/ioctl32.c Tue Feb 12 14:32:24 2002
@@ -3997,8 +3997,6 @@
COMPATIBLE_IOCTL(BLKROGET)
COMPATIBLE_IOCTL(BLKRRPART)
COMPATIBLE_IOCTL(BLKFLSBUF)
-COMPATIBLE_IOCTL(BLKRASET)
-COMPATIBLE_IOCTL(BLKFRASET)
COMPATIBLE_IOCTL(BLKSECTSET)
COMPATIBLE_IOCTL(BLKSSZGET)
COMPATIBLE_IOCTL(BLKBSZGET)
@@ -4626,10 +4624,8 @@
HANDLE_IOCTL(SIOCRTMSG, ret_einval)
HANDLE_IOCTL(SIOCGSTAMP, do_siocgstamp)
HANDLE_IOCTL(HDIO_GETGEO, hdio_getgeo)
-HANDLE_IOCTL(BLKRAGET, w_long)
HANDLE_IOCTL(BLKGETSIZE, w_long)
HANDLE_IOCTL(0x1260, broken_blkgetsize)
-HANDLE_IOCTL(BLKFRAGET, w_long)
HANDLE_IOCTL(BLKSECTGET, w_long)
HANDLE_IOCTL(BLKPG, blkpg_ioctl_trans)
HANDLE_IOCTL(FBIOPUTCMAP32, fbiogetputcmap)
diff -urN linux-2.5.4/drivers/acorn/block/mfmhd.c linux-2.5.4-readahead/drivers/acorn/block/mfmhd.c
--- linux-2.5.4/drivers/acorn/block/mfmhd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/acorn/block/mfmhd.c Tue Feb 12 14:28:51 2002
@@ -1208,15 +1208,6 @@
return -EFAULT;
return 0;

- case BLKFRASET:
- if (!capable(CAP_SYS_ADMIN))
- return -EACCES;
- max_readahead[major][minor] = arg;
- return 0;
-
- case BLKFRAGET:
- return put_user(max_readahead[major][minor], (long *) arg);
-
case BLKSECTGET:
return put_user(max_sectors[major][minor], (long *) arg);

@@ -1230,8 +1221,6 @@
case BLKFLSBUF:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKPG:
return blk_ioctl(dev, cmd, arg);

@@ -1442,7 +1431,6 @@
hdc63463_irqpollmask = irqmask;

blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB?) read ahread */

add_gendisk(&mfm_gendisk);

diff -urN linux-2.5.4/drivers/block/DAC960.c linux-2.5.4-readahead/drivers/block/DAC960.c
--- linux-2.5.4/drivers/block/DAC960.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/DAC960.c Tue Feb 12 14:26:50 2002
@@ -1964,10 +1964,6 @@
Controller->GenericDiskInfo.sizes = Controller->PartitionSizes;
blksize_size[MajorNumber] = Controller->BlockSizes;
/*
- Initialize Read Ahead to 128 sectors.
- */
- read_ahead[MajorNumber] = 128;
- /*
Complete initialization of the Generic Disk Information structure.
*/
Controller->GenericDiskInfo.major = MajorNumber;
@@ -5399,8 +5395,6 @@
sizeof(DiskGeometry_T)) ? -EFAULT : 0);
case BLKGETSIZE:
case BLKGETSIZE64:
- case BLKRAGET:
- case BLKRASET:
case BLKFLSBUF:
case BLKBSZGET:
case BLKBSZSET:
diff -urN linux-2.5.4/drivers/block/acsi.c linux-2.5.4-readahead/drivers/block/acsi.c
--- linux-2.5.4/drivers/block/acsi.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/acsi.c Tue Feb 12 14:26:50 2002
@@ -1785,7 +1785,6 @@
STramMask = ATARIHW_PRESENT(EXTD_DMA) ? 0x00000000 : 0xff000000;

blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &acsi_lock);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */
add_gendisk(&acsi_gendisk);

#ifdef CONFIG_ATARI_SLM
diff -urN linux-2.5.4/drivers/block/ataflop.c linux-2.5.4-readahead/drivers/block/ataflop.c
--- linux-2.5.4/drivers/block/ataflop.c Sun Dec 16 21:20:20 2001
+++ linux-2.5.4-readahead/drivers/block/ataflop.c Tue Feb 12 14:26:50 2002
@@ -1573,8 +1573,6 @@
switch (cmd) {
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
return blk_ioctl(device, cmd, param);
}
diff -urN linux-2.5.4/drivers/block/blkpg.c linux-2.5.4-readahead/drivers/block/blkpg.c
--- linux-2.5.4/drivers/block/blkpg.c Tue Feb 12 12:22:52 2002
+++ linux-2.5.4-readahead/drivers/block/blkpg.c Tue Feb 12 14:27:49 2002
@@ -29,7 +29,7 @@
*/

#include <linux/errno.h>
-#include <linux/fs.h> /* for BLKRASET, ... */
+#include <linux/fs.h> /* for BLKROSET, ... */
#include <linux/sched.h> /* for capable() */
#include <linux/blk.h> /* for set_device_ro() */
#include <linux/blkpg.h>
@@ -226,31 +226,6 @@
case BLKROGET:
intval = (is_read_only(dev) != 0);
return put_user(intval, (int *)(arg));
-
- case BLKRASET:
- if(!capable(CAP_SYS_ADMIN))
- return -EACCES;
- if(arg > 0xff)
- return -EINVAL;
- read_ahead[major(dev)] = arg;
- return 0;
- case BLKRAGET:
- if (!arg)
- return -EINVAL;
- return put_user(read_ahead[major(dev)], (long *) arg);
-
- case BLKFRASET:
- if (!capable(CAP_SYS_ADMIN))
- return -EACCES;
- if (!(iptr = max_readahead[major(dev)]))
- return -EINVAL;
- iptr[minor(dev)] = arg;
- return 0;
-
- case BLKFRAGET:
- if (!(iptr = max_readahead[major(dev)]))
- return -EINVAL;
- return put_user(iptr[minor(dev)], (long *) arg);

case BLKSECTGET:
if ((q = blk_get_queue(dev)) == NULL)
diff -urN linux-2.5.4/drivers/block/cciss.c linux-2.5.4-readahead/drivers/block/cciss.c
--- linux-2.5.4/drivers/block/cciss.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/block/cciss.c Tue Feb 12 14:26:50 2002
@@ -471,8 +471,6 @@
case BLKBSZGET:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);
case CCISS_GETPCIINFO:
@@ -2542,7 +2540,6 @@

/* fill in the other Kernel structs */
blksize_size[MAJOR_NR+i] = hba[i]->blocksizes;
- read_ahead[MAJOR_NR+i] = READ_AHEAD;

/* Fill in the gendisk data */
hba[i]->gendisk.major = MAJOR_NR + i;
diff -urN linux-2.5.4/drivers/block/cpqarray.c linux-2.5.4-readahead/drivers/block/cpqarray.c
--- linux-2.5.4/drivers/block/cpqarray.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/cpqarray.c Tue Feb 12 14:26:50 2002
@@ -481,7 +481,6 @@
blk_queue_max_phys_segments(q, SG_MAX);

blksize_size[MAJOR_NR+i] = ida_blocksizes + (i*256);
- read_ahead[MAJOR_NR+i] = READ_AHEAD;

ida_gendisk[i].major = MAJOR_NR + i;
ida_gendisk[i].major_name = "ida";
@@ -1181,8 +1180,6 @@
case BLKBSZGET:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);

diff -urN linux-2.5.4/drivers/block/floppy.c linux-2.5.4-readahead/drivers/block/floppy.c
--- linux-2.5.4/drivers/block/floppy.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/floppy.c Tue Feb 12 14:26:50 2002
@@ -3448,8 +3448,6 @@
switch (cmd) {
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
return blk_ioctl(device, cmd, param);
}
diff -urN linux-2.5.4/drivers/block/ll_rw_blk.c linux-2.5.4-readahead/drivers/block/ll_rw_blk.c
--- linux-2.5.4/drivers/block/ll_rw_blk.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/block/ll_rw_blk.c Tue Feb 12 14:27:32 2002
@@ -56,8 +56,6 @@

/* This specifies how many sectors to read ahead on the disk. */

-int read_ahead[MAX_BLKDEV];
-
/* blk_dev_struct is:
* request_queue
* *queue
@@ -84,11 +82,6 @@
int * blksize_size[MAX_BLKDEV];

/*
- * The following tunes the read-ahead algorithm in mm/filemap.c
- */
-int * max_readahead[MAX_BLKDEV];
-
-/*
* How many reqeusts do we allocate per queue,
* and how many do we "batch" on freeing them?
*/
@@ -1689,7 +1682,6 @@
dev->queue = NULL;

memset(ro_bits,0,sizeof(ro_bits));
- memset(max_readahead, 0, sizeof(max_readahead));

total_ram = nr_free_pages() << (PAGE_SHIFT - 10);

diff -urN linux-2.5.4/drivers/block/paride/pcd.c linux-2.5.4-readahead/drivers/block/paride/pcd.c
--- linux-2.5.4/drivers/block/paride/pcd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/paride/pcd.c Tue Feb 12 14:26:50 2002
@@ -358,7 +358,6 @@
}

blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &pcd_lock);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */

for (i=0;i<PCD_UNITS;i++) pcd_blocksizes[i] = 1024;
blksize_size[MAJOR_NR] = pcd_blocksizes;
diff -urN linux-2.5.4/drivers/block/paride/pd.c linux-2.5.4-readahead/drivers/block/paride/pd.c
--- linux-2.5.4/drivers/block/paride/pd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/paride/pd.c Tue Feb 12 14:26:50 2002
@@ -397,7 +397,6 @@
q = BLK_DEFAULT_QUEUE(MAJOR_NR);
blk_init_queue(q, DEVICE_REQUEST, &pd_lock);
blk_queue_max_sectors(q, cluster);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */

pd_gendisk.major = major;
pd_gendisk.major_name = name;
@@ -480,8 +479,6 @@
case BLKGETSIZE64:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);
diff -urN linux-2.5.4/drivers/block/paride/pf.c linux-2.5.4-readahead/drivers/block/paride/pf.c
--- linux-2.5.4/drivers/block/paride/pf.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/block/paride/pf.c Tue Feb 12 14:26:50 2002
@@ -363,7 +363,6 @@
blk_init_queue(q, DEVICE_REQUEST, &pf_spin_lock);
blk_queue_max_phys_segments(q, cluster);
blk_queue_max_hw_segments(q, cluster);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */

for (i=0;i<PF_UNITS;i++) pf_blocksizes[i] = 1024;
blksize_size[MAJOR_NR] = pf_blocksizes;
@@ -433,8 +432,6 @@
return put_user((u64)PF.capacity << 9,(u64 *)arg);
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
return blk_ioctl(inode->i_rdev, cmd, arg);
default:
diff -urN linux-2.5.4/drivers/block/ps2esdi.c linux-2.5.4-readahead/drivers/block/ps2esdi.c
--- linux-2.5.4/drivers/block/ps2esdi.c Tue Feb 12 12:22:52 2002
+++ linux-2.5.4-readahead/drivers/block/ps2esdi.c Tue Feb 12 14:26:50 2002
@@ -177,7 +177,6 @@
}
/* set up some global information - indicating device specific info */
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &ps2esdi_lock);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */

/* some minor housekeeping - setup the global gendisk structure */
add_gendisk(&ps2esdi_gendisk);
@@ -1108,8 +1107,6 @@
case BLKGETSIZE64:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
case BLKBSZGET:
case BLKBSZSET:
diff -urN linux-2.5.4/drivers/block/xd.c linux-2.5.4-readahead/drivers/block/xd.c
--- linux-2.5.4/drivers/block/xd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/block/xd.c Tue Feb 12 14:26:50 2002
@@ -171,7 +171,6 @@
}
devfs_handle = devfs_mk_dir (NULL, xd_gendisk.major_name, NULL);
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &xd_lock);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */
add_gendisk(&xd_gendisk);
xd_geninit();

@@ -355,8 +354,6 @@
case BLKFLSBUF:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);

diff -urN linux-2.5.4/drivers/cdrom/aztcd.c linux-2.5.4-readahead/drivers/cdrom/aztcd.c
--- linux-2.5.4/drivers/cdrom/aztcd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/aztcd.c Tue Feb 12 14:26:50 2002
@@ -1927,7 +1927,6 @@
}
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &aztSpin);
blksize_size[MAJOR_NR] = aztcd_blocksizes;
- read_ahead[MAJOR_NR] = 4;
register_disk(NULL, mk_kdev(MAJOR_NR, 0), 1, &azt_fops, 0);

if ((azt_port == 0x1f0) || (azt_port == 0x170))
diff -urN linux-2.5.4/drivers/cdrom/cdu31a.c linux-2.5.4-readahead/drivers/cdrom/cdu31a.c
--- linux-2.5.4/drivers/cdrom/cdu31a.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/cdu31a.c Tue Feb 12 14:26:50 2002
@@ -3442,7 +3442,6 @@
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR),
DEVICE_REQUEST,
&cdu31a_lock);
- read_ahead[MAJOR_NR] = CDU31A_READAHEAD;
cdu31a_block_size = 1024; /* 1kB default block size */
/* use 'mount -o block=2048' */
blksize_size[MAJOR_NR] = &cdu31a_block_size;
diff -urN linux-2.5.4/drivers/cdrom/cm206.c linux-2.5.4-readahead/drivers/cdrom/cm206.c
--- linux-2.5.4/drivers/cdrom/cm206.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/cm206.c Tue Feb 12 14:26:50 2002
@@ -1503,7 +1503,6 @@
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST,
&cm206_lock);
blksize_size[MAJOR_NR] = cm206_blocksizes;
- read_ahead[MAJOR_NR] = 16; /* reads ahead what? */
init_bh(CM206_BH, cm206_bh);

memset(cd, 0, sizeof(*cd)); /* give'm some reasonable value */
diff -urN linux-2.5.4/drivers/cdrom/gscd.c linux-2.5.4-readahead/drivers/cdrom/gscd.c
--- linux-2.5.4/drivers/cdrom/gscd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/gscd.c Tue Feb 12 14:26:50 2002
@@ -1022,7 +1022,6 @@

blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &gscd_lock);
blksize_size[MAJOR_NR] = gscd_blocksizes;
- read_ahead[MAJOR_NR] = 4;

disk_state = 0;
gscdPresent = 1;
diff -urN linux-2.5.4/drivers/cdrom/mcd.c linux-2.5.4-readahead/drivers/cdrom/mcd.c
--- linux-2.5.4/drivers/cdrom/mcd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/mcd.c Tue Feb 12 14:26:50 2002
@@ -1075,7 +1075,6 @@
blksize_size[MAJOR_NR] = mcd_blocksizes;
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST,
&mcd_spinlock);
- read_ahead[MAJOR_NR] = 4;

/* check for card */

diff -urN linux-2.5.4/drivers/cdrom/mcdx.c linux-2.5.4-readahead/drivers/cdrom/mcdx.c
--- linux-2.5.4/drivers/cdrom/mcdx.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/mcdx.c Tue Feb 12 14:26:50 2002
@@ -1184,7 +1184,6 @@

blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST,
&mcdx_lock);
- read_ahead[MAJOR_NR] = READ_AHEAD;
blksize_size[MAJOR_NR] = mcdx_blocksizes;

xtrace(INIT, "init() subscribe irq and i/o\n");
diff -urN linux-2.5.4/drivers/cdrom/optcd.c linux-2.5.4-readahead/drivers/cdrom/optcd.c
--- linux-2.5.4/drivers/cdrom/optcd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/optcd.c Tue Feb 12 14:26:50 2002
@@ -2062,7 +2062,6 @@
blksize_size[MAJOR_NR] = &blksize;
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST,
&optcd_lock);
- read_ahead[MAJOR_NR] = 4;
request_region(optcd_port, 4, "optcd");
register_disk(NULL, mk_kdev(MAJOR_NR,0), 1, &opt_fops, 0);

diff -urN linux-2.5.4/drivers/cdrom/sbpcd.c linux-2.5.4-readahead/drivers/cdrom/sbpcd.c
--- linux-2.5.4/drivers/cdrom/sbpcd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/sbpcd.c Tue Feb 12 14:26:50 2002
@@ -4531,12 +4531,6 @@
RETURN_UP(0);
} /* end of CDROMREADAUDIO */

- case BLKRASET:
- if(!capable(CAP_SYS_ADMIN)) RETURN_UP(-EACCES);
- if(kdev_none(cdi->dev)) RETURN_UP(-EINVAL);
- if(arg > 0xff) RETURN_UP(-EINVAL);
- read_ahead[major(cdi->dev)] = arg;
- RETURN_UP(0);
default:
msg(DBG_IOC,"ioctl: unknown function request %04X\n", cmd);
RETURN_UP(-EINVAL);
diff -urN linux-2.5.4/drivers/cdrom/sjcd.c linux-2.5.4-readahead/drivers/cdrom/sjcd.c
--- linux-2.5.4/drivers/cdrom/sjcd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/sjcd.c Tue Feb 12 14:26:50 2002
@@ -1695,7 +1695,6 @@
}

blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST,&sjcd_lock);
- read_ahead[MAJOR_NR] = 4;
register_disk(NULL, mk_kdev(MAJOR_NR, 0), 1, &sjcd_fops, 0);

if (check_region(sjcd_base, 4)) {
diff -urN linux-2.5.4/drivers/cdrom/sonycd535.c linux-2.5.4-readahead/drivers/cdrom/sonycd535.c
--- linux-2.5.4/drivers/cdrom/sonycd535.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/cdrom/sonycd535.c Tue Feb 12 14:26:50 2002
@@ -1598,7 +1598,6 @@
}
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &sonycd535_lock);
blksize_size[MAJOR_NR] = &sonycd535_block_size;
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */

sony_toc = (struct s535_sony_toc *)
kmalloc(sizeof *sony_toc, GFP_KERNEL);
diff -urN linux-2.5.4/drivers/ide/ataraid.c linux-2.5.4-readahead/drivers/ide/ataraid.c
--- linux-2.5.4/drivers/ide/ataraid.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/ide/ataraid.c Tue Feb 12 14:27:55 2002
@@ -289,7 +289,6 @@
hardsect_size[ATAMAJOR] = NULL;
blk_size[ATAMAJOR] = NULL;
blksize_size[ATAMAJOR] = NULL;
- max_readahead[ATAMAJOR] = NULL;

del_gendisk(&ataraid_gendisk);

diff -urN linux-2.5.4/drivers/ide/hd.c linux-2.5.4-readahead/drivers/ide/hd.c
--- linux-2.5.4/drivers/ide/hd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/ide/hd.c Tue Feb 12 14:26:50 2002
@@ -652,8 +652,6 @@
case BLKGETSIZE64:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);
@@ -837,7 +835,6 @@
}
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST, &hd_lock);
blk_queue_max_sectors(BLK_DEFAULT_QUEUE(MAJOR_NR), 255);
- read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */
add_gendisk(&hd_gendisk);
init_timer(&device_timer);
device_timer.function = hd_times_out;
diff -urN linux-2.5.4/drivers/ide/ide-cd.c linux-2.5.4-readahead/drivers/ide/ide-cd.c
--- linux-2.5.4/drivers/ide/ide-cd.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/ide/ide-cd.c Tue Feb 12 14:26:50 2002
@@ -2659,11 +2659,6 @@

static void ide_cdrom_add_settings(ide_drive_t *drive)
{
- int major = HWIF(drive)->major;
- int minor = drive->select.b.unit << PARTN_BITS;
-
- ide_add_setting(drive, "breada_readahead", SETTING_RW, BLKRAGET, BLKRASET, TYPE_INT, 0, 255, 1, 2, &read_ahead[major], NULL);
- ide_add_setting(drive, "file_readahead", SETTING_RW, BLKFRAGET, BLKFRASET, TYPE_INTA, 0, INT_MAX, 1, 1024, &max_readahead[major][minor], NULL);
ide_add_setting(drive, "dsc_overlap", SETTING_RW, -1, -1, TYPE_BYTE, 0, 1, 1, 1, &drive->dsc_overlap, NULL);
}

diff -urN linux-2.5.4/drivers/ide/ide-disk.c linux-2.5.4-readahead/drivers/ide/ide-disk.c
--- linux-2.5.4/drivers/ide/ide-disk.c Tue Feb 12 12:22:53 2002
+++ linux-2.5.4-readahead/drivers/ide/ide-disk.c Tue Feb 12 14:26:50 2002
@@ -916,8 +916,6 @@
ide_add_setting(drive, "bswap", SETTING_READ, -1, -1, TYPE_BYTE, 0, 1, 1, 1, &drive->bswap, NULL);
ide_add_setting(drive, "multcount", id ? SETTING_RW : SETTING_READ, HDIO_GET_MULTCOUNT, HDIO_SET_MULTCOUNT, TYPE_BYTE, 0, id ? id->max_multsect : 0, 1, 1, &drive->mult_count, set_multcount);
ide_add_setting(drive, "nowerr", SETTING_RW, HDIO_GET_NOWERR, HDIO_SET_NOWERR, TYPE_BYTE, 0, 1, 1, 1, &drive->nowerr, set_nowerr);
- ide_add_setting(drive, "breada_readahead", SETTING_RW, BLKRAGET, BLKRASET, TYPE_INT, 0, 255, 1, 1, &read_ahead[major], NULL);
- ide_add_setting(drive, "file_readahead", SETTING_RW, BLKFRAGET, BLKFRASET, TYPE_INTA, 0, 4096, PAGE_SIZE, 1024, &max_readahead[major][minor], NULL);
ide_add_setting(drive, "lun", SETTING_RW, -1, -1, TYPE_INT, 0, 7, 1, 1, &drive->lun, NULL);
ide_add_setting(drive, "wcache", SETTING_RW, HDIO_GET_WCACHE, HDIO_SET_WCACHE, TYPE_BYTE, 0, 1, 1, 1, &drive->wcache, write_cache);
ide_add_setting(drive, "acoustic", SETTING_RW, HDIO_GET_ACOUSTIC, HDIO_SET_ACOUSTIC, TYPE_BYTE, 0, 254, 1, 1, &drive->acoustic, set_acoustic);
diff -urN linux-2.5.4/drivers/ide/ide-floppy.c linux-2.5.4-readahead/drivers/ide/ide-floppy.c
--- linux-2.5.4/drivers/ide/ide-floppy.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/ide/ide-floppy.c Tue Feb 12 14:26:50 2002
@@ -1968,8 +1968,6 @@
ide_add_setting(drive, "bios_cyl", SETTING_RW, -1, -1, TYPE_INT, 0, 1023, 1, 1, &drive->bios_cyl, NULL);
ide_add_setting(drive, "bios_head", SETTING_RW, -1, -1, TYPE_BYTE, 0, 255, 1, 1, &drive->bios_head, NULL);
ide_add_setting(drive, "bios_sect", SETTING_RW, -1, -1, TYPE_BYTE, 0, 63, 1, 1, &drive->bios_sect, NULL);
- ide_add_setting(drive, "breada_readahead", SETTING_RW, BLKRAGET, BLKRASET, TYPE_INT, 0, 255, 1, 2, &read_ahead[major], NULL);
- ide_add_setting(drive, "file_readahead", SETTING_RW, BLKFRAGET, BLKFRASET, TYPE_INTA, 0, INT_MAX, 1, 1024, &max_readahead[major][minor], NULL);

}

diff -urN linux-2.5.4/drivers/ide/ide-probe.c linux-2.5.4-readahead/drivers/ide/ide-probe.c
--- linux-2.5.4/drivers/ide/ide-probe.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/ide/ide-probe.c Tue Feb 12 14:26:50 2002
@@ -802,35 +802,27 @@
}
#endif

- minors = units * (1<<PARTN_BITS);
- gd = kmalloc (sizeof(struct gendisk), GFP_KERNEL);
+ minors = units * (1<<PARTN_BITS);
+
+ gd = kmalloc (sizeof(struct gendisk), GFP_KERNEL);
if (!gd)
goto err_kmalloc_gd;
gd->sizes = kmalloc (minors * sizeof(int), GFP_KERNEL);
if (!gd->sizes)
goto err_kmalloc_gd_sizes;
- gd->part = kmalloc (minors * sizeof(struct hd_struct), GFP_KERNEL);
+ gd->part = kmalloc (minors * sizeof(struct hd_struct), GFP_KERNEL);
if (!gd->part)
goto err_kmalloc_gd_part;
- bs = kmalloc (minors*sizeof(int), GFP_KERNEL);
- if (!bs)
+ blksize_size[hwif->major] = kmalloc (minors*sizeof(int), GFP_KERNEL);
+ if (!blksize_size[hwif->major])
goto err_kmalloc_bs;
- max_ra = kmalloc (minors*sizeof(int), GFP_KERNEL);
- if (!max_ra)
- goto err_kmalloc_max_ra;

memset(gd->part, 0, minors * sizeof(struct hd_struct));

- /* cdroms and msdos f/s are examples of non-1024 blocksizes */
- blksize_size[hwif->major] = bs;
- max_readahead[hwif->major] = max_ra;
- for (unit = 0; unit < minors; ++unit) {
- *bs++ = BLOCK_SIZE;
- *max_ra++ = MAX_READAHEAD;
- }
-
- for (unit = 0; unit < units; ++unit)
+ for (unit = 0; unit < minors; unit++) {
+ blksize_size[hwif->major][unit] = BLOCK_SIZE;
hwif->drives[unit].part = &gd->part[unit << PARTN_BITS];
+ }

gd->major = hwif->major; /* our major device number */
gd->major_name = IDE_MAJOR_NAME; /* treated special in genhd.c */
@@ -875,8 +867,6 @@
}
return;

-err_kmalloc_max_ra:
- kfree(bs);
err_kmalloc_bs:
kfree(gd->part);
err_kmalloc_gd_part:
@@ -937,7 +927,6 @@
init_gendisk(hwif);
blk_dev[hwif->major].data = hwif;
blk_dev[hwif->major].queue = ide_get_queue;
- read_ahead[hwif->major] = 8; /* (4kB) */
hwif->present = 1; /* success */

return hwif->present;
diff -urN linux-2.5.4/drivers/ide/ide.c linux-2.5.4-readahead/drivers/ide/ide.c
--- linux-2.5.4/drivers/ide/ide.c Tue Feb 12 12:22:53 2002
+++ linux-2.5.4-readahead/drivers/ide/ide.c Tue Feb 12 14:26:50 2002
@@ -2126,7 +2126,6 @@
*/
unregister_blkdev(hwif->major, hwif->name);
kfree(blksize_size[hwif->major]);
- kfree(max_readahead[hwif->major]);
blk_dev[hwif->major].data = NULL;
blk_dev[hwif->major].queue = NULL;
blk_clear(hwif->major);
diff -urN linux-2.5.4/drivers/md/lvm.c linux-2.5.4-readahead/drivers/md/lvm.c
--- linux-2.5.4/drivers/md/lvm.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/md/lvm.c Tue Feb 12 14:26:50 2002
@@ -883,29 +883,6 @@
invalidate_buffers(inode->i_rdev);
break;

-
- case BLKRASET:
- /* set read ahead for block device */
- if (!capable(CAP_SYS_ADMIN)) return -EACCES;
-
- P_IOCTL("BLKRASET: %ld sectors for %s\n",
- (long) arg, kdevname(inode->i_rdev));
-
- if ((long) arg < LVM_MIN_READ_AHEAD ||
- (long) arg > LVM_MAX_READ_AHEAD)
- return -EINVAL;
- lv_ptr->lv_read_ahead = (long) arg;
- break;
-
-
- case BLKRAGET:
- /* get current read ahead setting */
- P_IOCTL("BLKRAGET %d\n", lv_ptr->lv_read_ahead);
- if (put_user(lv_ptr->lv_read_ahead, (long *)arg))
- return -EFAULT;
- break;
-
-
case HDIO_GETGEO:
/* get disk geometry */
P_IOCTL("%s -- lvm_blk_ioctl -- HDIO_GETGEO\n", lvm_name);
diff -urN linux-2.5.4/drivers/md/md.c linux-2.5.4-readahead/drivers/md/md.c
--- linux-2.5.4/drivers/md/md.c Thu Jan 31 16:45:20 2002
+++ linux-2.5.4-readahead/drivers/md/md.c Tue Feb 12 14:28:55 2002
@@ -1737,7 +1737,6 @@
register_disk(&md_gendisk, mk_kdev(MAJOR_NR,mdidx(mddev)),
1, &md_fops, md_size[mdidx(mddev)]<<1);

- read_ahead[MD_MAJOR] = 1024;
return (0);
}

@@ -2622,8 +2621,6 @@
(u64 *) arg);
goto done;

- case BLKRAGET:
- case BLKRASET:
case BLKFLSBUF:
case BLKBSZGET:
case BLKBSZSET:
@@ -3176,13 +3173,6 @@

sz += sprintf(page+sz, "\n");

-
- sz += sprintf(page+sz, "read_ahead ");
- if (read_ahead[MD_MAJOR] == INT_MAX)
- sz += sprintf(page+sz, "not set\n");
- else
- sz += sprintf(page+sz, "%d sectors\n", read_ahead[MD_MAJOR]);
-
ITERATE_MDDEV(mddev,tmp) {
sz += sprintf(page + sz, "md%d : %sactive", mdidx(mddev),
mddev->pers ? "" : "in");
@@ -3622,7 +3612,6 @@
}
blksize_size[MAJOR_NR] = md_blocksizes;
blk_size[MAJOR_NR] = md_size;
- max_readahead[MAJOR_NR] = md_maxreadahead;

dprintk("md: sizeof(mdp_super_t) = %d\n", (int)sizeof(mdp_super_t));

@@ -3657,9 +3646,6 @@

/* forward all md request to md_make_request */
blk_queue_make_request(BLK_DEFAULT_QUEUE(MAJOR_NR), md_make_request);
-
-
- read_ahead[MAJOR_NR] = INT_MAX;

add_gendisk(&md_gendisk);

diff -urN linux-2.5.4/drivers/message/i2o/i2o_block.c linux-2.5.4-readahead/drivers/message/i2o/i2o_block.c
--- linux-2.5.4/drivers/message/i2o/i2o_block.c Tue Feb 12 12:22:53 2002
+++ linux-2.5.4-readahead/drivers/message/i2o/i2o_block.c Tue Feb 12 14:26:50 2002
@@ -1104,8 +1104,6 @@
case BLKFLSBUF:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKPG:
return blk_ioctl(inode->i_rdev, cmd, arg);

diff -urN linux-2.5.4/drivers/s390/block/dasd.c linux-2.5.4-readahead/drivers/s390/block/dasd.c
--- linux-2.5.4/drivers/s390/block/dasd.c Sun Dec 9 05:02:47 2001
+++ linux-2.5.4-readahead/drivers/s390/block/dasd.c Tue Feb 12 14:26:50 2002
@@ -2489,8 +2489,6 @@
case BLKSSZGET:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
case BLKPG:
case BLKELVGET:
diff -urN linux-2.5.4/drivers/s390/block/xpram.c linux-2.5.4-readahead/drivers/s390/block/xpram.c
--- linux-2.5.4/drivers/s390/block/xpram.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/s390/block/xpram.c Tue Feb 12 14:26:50 2002
@@ -659,26 +659,9 @@
if ( capable(CAP_SYS_ADMIN) )invalidate_buffers(inode->i_rdev);
return 0;

- case BLKRAGET: /* return the readahead value, 0x1263 */
- if (!arg) return -EINVAL;
- err = 0; /* verify_area_20(VERIFY_WRITE, (long *) arg, sizeof(long));
- * if (err) return err;
- */
- put_user(read_ahead[MAJOR(inode->i_rdev)], (long *)arg);
-
- return 0;
-
- case BLKRASET: /* set the readahead value, 0x1262 */
- if (!capable(CAP_SYS_ADMIN)) return -EACCES;
- if (arg > 0xff) return -EINVAL; /* limit it */
- read_ahead[MAJOR(inode->i_rdev)] = arg;
- atomic_eieio();
- return 0;
-
case BLKRRPART: /* re-read partition table: can't do it, 0x1259 */
return -EINVAL;

-
#if (XPRAM_VERSION == 22)
RO_IOCTLS(inode->i_rdev, arg); /* the default RO operations
* BLKROSET
@@ -1042,7 +1025,6 @@
q = BLK_DEFAULT_QUEUE (major);
blk_init_queue (q, xpram_request);
#endif /* V22/V24 */
- read_ahead[major] = xpram_rahead;

/* we want to have XPRAM_UNUSED blocks security buffer between devices */
mem_usable=xpram_mem_avail-(XPRAM_UNUSED*(xpram_devs-1));
@@ -1181,7 +1163,6 @@
kfree(xpram_hardsects);
hardsect_size[major] = NULL;
fail_malloc:
- read_ahead[major] = 0;
#if (XPRAM_VERSION == 22)
blk_dev[major].request_fn = NULL;
#endif /* V22 */
diff -urN linux-2.5.4/drivers/s390/char/tapeblock.c linux-2.5.4-readahead/drivers/s390/char/tapeblock.c
--- linux-2.5.4/drivers/s390/char/tapeblock.c Sun Dec 9 05:02:47 2001
+++ linux-2.5.4-readahead/drivers/s390/char/tapeblock.c Tue Feb 12 14:26:50 2002
@@ -101,7 +101,6 @@
}
if (tapeblock_major == 0) tapeblock_major = result; /* accept dynamic major number*/
INIT_BLK_DEV(tapeblock_major,tape_request_fn,tapeblock_getqueue,NULL);
- read_ahead[tapeblock_major]=TAPEBLOCK_READAHEAD;
PRINT_WARN(KERN_ERR " tape gets major %d for block device\n", result);
blk_size[tapeblock_major] = (int*) kmalloc (256*sizeof(int),GFP_ATOMIC);
memset(blk_size[tapeblock_major],0,256*sizeof(int));
diff -urN linux-2.5.4/drivers/scsi/sd.c linux-2.5.4-readahead/drivers/scsi/sd.c
--- linux-2.5.4/drivers/scsi/sd.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/scsi/sd.c Tue Feb 12 14:26:50 2002
@@ -228,8 +228,6 @@
case BLKGETSIZE64:
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
case BLKSSZGET:
case BLKPG:
@@ -1190,18 +1188,6 @@
rscsi_disks[i].has_part_table = 1;
}
}
- /* If our host adapter is capable of scatter-gather, then we increase
- * the read-ahead to 60 blocks (120 sectors). If not, we use
- * a two block (4 sector) read ahead. We can only respect this with the
- * granularity of every 16 disks (one device major).
- */
- for (i = 0; i < N_USED_SD_MAJORS; i++) {
- read_ahead[SD_MAJOR(i)] =
- (rscsi_disks[i * SCSI_DISKS_PER_MAJOR].device
- && rscsi_disks[i * SCSI_DISKS_PER_MAJOR].device->host->sg_tablesize)
- ? 120 /* 120 sector read-ahead */
- : 4; /* 4 sector read-ahead */
- }

return;
}
diff -urN linux-2.5.4/drivers/scsi/sr.c linux-2.5.4-readahead/drivers/scsi/sr.c
--- linux-2.5.4/drivers/scsi/sr.c Thu Jan 31 16:45:21 2002
+++ linux-2.5.4-readahead/drivers/scsi/sr.c Tue Feb 12 14:26:50 2002
@@ -785,16 +785,6 @@
&sr_bdops, NULL);
register_cdrom(&scsi_CDs[i].cdi);
}
-
-
- /* If our host adapter is capable of scatter-gather, then we increase
- * the read-ahead to 16 blocks (32 sectors). If not, we use
- * a two block (4 sector) read ahead. */
- if (scsi_CDs[0].device && scsi_CDs[0].device->host->sg_tablesize)
- read_ahead[MAJOR_NR] = 32; /* 32 sector read-ahead. Always removable. */
- else
- read_ahead[MAJOR_NR] = 4; /* 4 sector read-ahead */
-
}

static void sr_detach(Scsi_Device * SDp)
@@ -846,7 +836,6 @@
kfree(sr_blocksizes);
sr_blocksizes = NULL;
}
- read_ahead[MAJOR_NR] = 0;
blk_clear(MAJOR_NR);

sr_template.dev_max = 0;
diff -urN linux-2.5.4/drivers/scsi/sr_ioctl.c linux-2.5.4-readahead/drivers/scsi/sr_ioctl.c
--- linux-2.5.4/drivers/scsi/sr_ioctl.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/drivers/scsi/sr_ioctl.c Tue Feb 12 14:26:50 2002
@@ -550,8 +550,6 @@
return put_user((u64)scsi_CDs[target].capacity << 9, (u64 *)arg);
case BLKROSET:
case BLKROGET:
- case BLKRASET:
- case BLKRAGET:
case BLKFLSBUF:
case BLKSSZGET:
return blk_ioctl(cdi->dev, cmd, arg);
diff -urN linux-2.5.4/fs/hfs/file.c linux-2.5.4-readahead/fs/hfs/file.c
--- linux-2.5.4/fs/hfs/file.c Sun Jan 20 11:49:26 2002
+++ linux-2.5.4-readahead/fs/hfs/file.c Tue Feb 12 14:26:50 2002
@@ -163,8 +163,7 @@
if (left <= 0) {
return 0;
}
- if ((read = hfs_do_read(inode, HFS_I(inode)->fork, pos,
- buf, left, filp->f_reada != 0)) > 0) {
+ if ((read = hfs_do_read(inode, HFS_I(inode)->fork, pos, buf, left)) > 0) {
*ppos += read;
filp->f_reada = 1;
}
@@ -288,7 +287,7 @@
* It has been changed to take into account that HFS files have no holes.
*/
hfs_s32 hfs_do_read(struct inode *inode, struct hfs_fork * fork, hfs_u32 pos,
- char * buf, hfs_u32 count, int reada)
+ char * buf, hfs_u32 count)
{
kdev_t dev = inode->i_dev;
hfs_s32 size, chars, offset, block, blocks, read = 0;
@@ -309,14 +308,6 @@
blocks = (count+offset+HFS_SECTOR_SIZE-1) >> HFS_SECTOR_SIZE_BITS;

bhb = bhe = buflist;
- if (reada) {
- if (blocks < read_ahead[major(dev)] / (HFS_SECTOR_SIZE>>9)) {
- blocks = read_ahead[major(dev)] / (HFS_SECTOR_SIZE>>9);
- }
- if (block + blocks > size) {
- blocks = size - block;
- }
- }

/* We do this in a two stage process. We first try and
request as many blocks as we can, then we wait for the
diff -urN linux-2.5.4/include/linux/blkdev.h linux-2.5.4-readahead/include/linux/blkdev.h
--- linux-2.5.4/include/linux/blkdev.h Thu Jan 31 16:45:22 2002
+++ linux-2.5.4-readahead/include/linux/blkdev.h Tue Feb 12 14:30:34 2002
@@ -314,11 +314,8 @@
extern void generic_unplug_device(void *);

extern int * blk_size[MAX_BLKDEV];
-
extern int * blksize_size[MAX_BLKDEV];

-extern int * max_readahead[MAX_BLKDEV];
-
#define MAX_PHYS_SEGMENTS 128
#define MAX_HW_SEGMENTS 128
#define MAX_SECTORS 255
@@ -340,8 +337,6 @@
blk_size_in_bytes[major] = NULL;
#endif
blksize_size[major] = NULL;
- max_readahead[major] = NULL;
- read_ahead[major] = 0;
}

extern inline int get_hardsect_size(kdev_t dev)
diff -urN linux-2.5.4/include/linux/fs.h linux-2.5.4-readahead/include/linux/fs.h
--- linux-2.5.4/include/linux/fs.h Tue Feb 12 12:22:54 2002
+++ linux-2.5.4-readahead/include/linux/fs.h Tue Feb 12 14:32:32 2002
@@ -173,10 +173,6 @@
#define BLKRRPART _IO(0x12,95) /* re-read partition table */
#define BLKGETSIZE _IO(0x12,96) /* return device size /512 (long *arg) */
#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
-#define BLKRASET _IO(0x12,98) /* Set read ahead for block device */
-#define BLKRAGET _IO(0x12,99) /* get current read ahead setting */
-#define BLKFRASET _IO(0x12,100)/* set filesystem (mm/filemap.c) read-ahead */
-#define BLKFRAGET _IO(0x12,101)/* get filesystem (mm/filemap.c) read-ahead */
#define BLKSECTSET _IO(0x12,102)/* set max sectors per request (ll_rw_blk.c) */
#define BLKSECTGET _IO(0x12,103)/* get max sectors per request (ll_rw_blk.c) */
#define BLKSSZGET _IO(0x12,104)/* get block device sector size */
@@ -1490,8 +1486,6 @@

extern ssize_t char_read(struct file *, char *, size_t, loff_t *);
extern ssize_t block_read(struct file *, char *, size_t, loff_t *);
-extern int read_ahead[];
-
extern ssize_t char_write(struct file *, const char *, size_t, loff_t *);
extern ssize_t block_write(struct file *, const char *, size_t, loff_t *);

diff -urN linux-2.5.4/kernel/ksyms.c linux-2.5.4-readahead/kernel/ksyms.c
--- linux-2.5.4/kernel/ksyms.c Tue Feb 12 12:22:54 2002
+++ linux-2.5.4-readahead/kernel/ksyms.c Tue Feb 12 14:29:04 2002
@@ -321,7 +321,6 @@
EXPORT_SYMBOL(tq_disk);
EXPORT_SYMBOL(init_buffer);
EXPORT_SYMBOL(refile_buffer);
-EXPORT_SYMBOL(max_readahead);
EXPORT_SYMBOL(wipe_partitions);

/* tty routines */
@@ -521,7 +520,6 @@
EXPORT_SYMBOL(clear_inode);
EXPORT_SYMBOL(___strtok);
EXPORT_SYMBOL(init_special_inode);
-EXPORT_SYMBOL(read_ahead);
EXPORT_SYMBOL(__get_hash_table);
EXPORT_SYMBOL(new_inode);
EXPORT_SYMBOL(insert_inode_hash);
diff -urN linux-2.5.4/mm/filemap.c linux-2.5.4-readahead/mm/filemap.c
--- linux-2.5.4/mm/filemap.c Tue Feb 12 12:22:54 2002
+++ linux-2.5.4-readahead/mm/filemap.c Tue Feb 12 14:29:58 2002
@@ -1131,13 +1131,6 @@
* 64k if defined (4K page size assumed).
*/

-static inline int get_max_readahead(struct inode * inode)
-{
- if (kdev_none(inode->i_dev) || !max_readahead[major(inode->i_dev)])
- return MAX_READAHEAD;
- return max_readahead[major(inode->i_dev)][minor(inode->i_dev)];
-}
-
static void generic_file_readahead(int reada_ok,
struct file * filp, struct inode * inode,
struct page * page)
@@ -1146,7 +1139,7 @@
unsigned long index = page->index;
unsigned long max_ahead, ahead;
unsigned long raend;
- int max_readahead = get_max_readahead(inode);
+ int max_readahead = MAX_READAHEAD;

end_index = inode->i_size >> PAGE_CACHE_SHIFT;

@@ -1278,7 +1271,7 @@
struct page *cached_page;
int reada_ok;
int error;
- int max_readahead = get_max_readahead(inode);
+ int max_readahead = MAX_READAHEAD;

cached_page = NULL;
index = *ppos >> PAGE_CACHE_SHIFT;
@@ -1808,7 +1801,7 @@
{
unsigned long ra_window;

- ra_window = get_max_readahead(vma->vm_file->f_dentry->d_inode);
+ ra_window = MAX_READAHEAD;
ra_window = CLUSTER_OFFSET(ra_window + CLUSTER_PAGES - 1);

/* vm_raend is zero if we haven't read ahead in this area yet. */
\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.290 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site