* Linux-2.4.10
@ 2001-09-23 18:54 Linus Torvalds
2001-09-23 16:41 ` Linux-2.4.10 Rob Landley
` (8 more replies)
0 siblings, 9 replies; 44+ messages in thread
From: Linus Torvalds @ 2001-09-23 18:54 UTC (permalink / raw)
To: Kernel Mailing List
Ok, I released a real 2.4.10, let the fun begin..
This is an uncomfortably large changeset, largely because I was away in
Finland twice during the 2.4.9->2.4.10 development, and partly of course
because I've tried to aggressively sync up especially with Alan.
In addition to the VM changes that have gotten so much attention there are
architecture updates, various major filesystem updates (jffs2 and NTFS),
ACPI updates, and tons of driver merges. And, of course, the min()/max()
changes.
Give it hell,
Linus
-----
final:
- Andrew Grover: ACPI update
- Al Viro: block devices..
- Andrea Arcangeli: fix list manipulation bogosity
- Trond Myklebust: 64-bit file locking fixes
- Brad Hards: USB CDC ethernet
- Chris Mason: reiserfs speedup
- Robert Love: re-merge AMD 761 GART support that was lost in -ac merge
- Adam Richter: check pci_module_init() return value
pre15:
- Jan Harkes: make Coda work with arbitrary host filesystems, not
just filesystems that use generic_file_read/write
- Al Viro: block device cleanups
- Hugh Dickins: swap device lock fixes - fix swap readahead race
- me, Andrea: more reference bit cleanups
pre14:
- Richard Gooch: devfs update
- Andrea Arcangeli: clean up/fix ramdisk handling now that it's in page cache
- Al Viro: follow up the above with initrd cleanups
- Keith Owens: get rid of drivers/scsi/53c700-mem.c file
- Trond Myklebust: RPC over TCP race fix
- Greg KH: USB update (ohci understands USB_ZERO_PACKET)
- me: clean up reference bit handling, fix silly GFP_ATOMIC allocation bug
pre13:
- Manfred Spraul: /proc/pid/maps cleanup (and bugfix for non-x86)
- Al Viro: "block device fs" - cleanup of page cache handling
- Hugh Dickins: VM/shmem cleanups and swap search speedup
- David Miller: sparc updates, soc driver typo fix, net updates
- Jeff Garzik: network driver updates (dl2k, yellowfin and tulip)
- Neil Brown: knfsd cleanups and fixues
- Ben LaHaise: zap_page_range merge from -ac
pre12:
- Alan Cox: much more merging
- Pete Zaitcev: ymfpci race fixes
- Andrea Arkangeli: VM race fix and OOM tweak.
- Arjan Van de Ven: merge RH kernel fixes
- Andi Kleen: use more readable 'likely()/unlikely()' instead of __builtin_expect()
- Keith Owens: fix 64-bit ELF types
- Gerd Knorr: mark more broken PCI bridges, update btaudio driver
- Paul Mackerras: powermac driver update
- me: clean up PTRACE_DETACH to use common infrastructure
pre11:
- Neil Brown: md cleanups/fixes
- Andrew Morton: console locking merge
- Andrea Arkangeli: major VM merge
pre10:
- Alan Cox: continued merging
- Mingming Cao: make msgrcv/shmat check the queue/segment ID's properly
- Greg KH: USB serial init failure fix, Xircom serial converter driver
- Neil Brown: nsfd/raid/md/lockd cleanups
- Ingo Molnar: multipath RAID personality, raid xor update
- Hugh Dickins/Marcelo Tosatti: swapin read-ahead race fix
- Vojtech Pavlik: fix up some of the infrastructure for x86-64
- Robert Love: AMD 761 AGP GART support
- Jens Axboe: fix SCSI-generic queue handling race
- me: be sane about page reference bits
pre9:
- Greg KH: start migration to new "min()/max()"
- Roman Zippel: move affs over to "min()/max()".
- Vojtech Pavlik: VIA update (make sure not to IRQ-unmask a vt82c576)
- Jan Kara: quota bug-fix (don't decrement quota for non-counted inode)
- Anton Altaparmakov: more NTFS updates
- Al Viro: make nosuid/noexec/nodev be per-mount flags, not per-filesystem
- Alan Cox: merge input/joystick layer differences, driver and alpha merge
- Keith Owens: scsi Makefile cleanup
- Trond Myklebust: fix oopsable race in locking code
- Jean Tourrilhes: IrDA update
pre8:
- Christoph Hellwig: clean up personality handling a bit
- Robert Love: update sysctl/vm documentation
- make the three-argument (that everybody hates) "min()" be "min_t()",
and introduce a type-anal "min()" that complains about arguments of
different types.
pre7:
- Alan Cox: big driver/mips sync
- Andries Brouwer, Christoph Hellwig: more gendisk fixups
- Tobias Ringstrom: tulip driver workaround for DC21143 erratum
pre6:
- Jens Axboe: remove trivially dead io_request_lock usage
- Andrea Arcangeli: softirq cleanup and ARM fixes. Slab cleanups
- Christoph Hellwig: gendisk handling helper functions/cleanups
- Nikita Danilov: reiserfs dead code pruning
- Anton Altaparmakov: NTFS update to 1.1.18
- firestream network driver: patch reverted on authors request
- NIIBE Yutaka: SH architecture update
- Paul Mackerras: PPC cleanups, PPC8xx update.
- me: reverse broken bootdata allocation patch that went into pre5
pre5:
- Merge with Alan
- Trond Myklebust: NFS fixes - kmap and root inode special case
- Al Viro: more superblock cleanups, inode leak in rd.c, minix
directories in page cache
- Paul Mackerras: clean up rubbish from sl82c105.c
- Neil Brown: md/raid cleanups, NFS filehandles
- Johannes Erdfelt: USB update (usb-2.0 support, visor fix, Clie fix,
pl2303 driver update)
- David Miller: sparc and net update
- Eric Biederman: simplify and correct bootdata allocation - don't
overwrite ramdisks
- Tim Waugh: support multiple SuperIO devices, parport doc updates
pre4:
- Hugh Dickins: swapoff cleanups and speedups
- Matthew Dharm: USB storage update
- Keith Owens: Makefile fixes
- Tom Rini: MPC8xx build fix
- Nikita Danilov: reiserfs update
- Jakub Jelinek: ELF loader fix for ET_DYN
- Andrew Morton: reparent_to_init() for kernel threads
- Christoph Hellwig: VxFS and SysV updates, vfs_permission fix
pre3:
- Johannes Erdfelt, Oliver Neukum: USB printer driver race fix
- John Byrne: fix stupid i386-SMP irq stack layout bug
- Andreas Bombe, me: yenta IO window fix
- Neil Brown: raid1 buffer state fix
- David Miller, Paul Mackerras: fix up sparc and ppc respectively for kmap/kbd_rate
- Matija Nalis: umsdos fixes, and make it possible to boot up with umsdos
- Francois Romieu: fix bugs in dscc4 driver
- Andy Grover: new PCI config space access functions (eventually for ACPI)
- Albert Cranford: fix incorrect e2fsprog data from ver_linux script
- Dave Jones: re-sync x86 setup code, fix macsonic kmalloc use
- Johannes Erdfelt: remove obsolete plusb USB driver
- Andries Brouwer: fix USB compact flash version info, add blksize ioctls
pre2:
- Al Viro: block device cleanups
- Marcelo Tosatti: make bounce buffer allocations more robust (it's ok
for them to do IO, just not cause recursive bounce IO. So allow them)
- Anton Altaparmakov: NTFS update (1.1.17)
- Paul Mackerras: PPC update (big re-org)
- Petko Manolov: USB pegasus driver fixes
- David Miller: networking and sparc updates
- Trond Myklebust: Export atomic_dec_and_lock
- OGAWA Hirofumi: find and fix umsdos "filldir" users that were broken
by the 64-bit-cleanups. Fix msdos warnings.
- Al Viro: superblock handling cleanups and race fixes
- Johannes Erdfelt++: USB updates
pre1:
- Jeff Hartmann: DRM AGP/alpha cleanups
- Ben LaHaise: highmem user pagecopy/clear optimization
- Vojtech Pavlik: VIA IDE driver update
- Herbert Xu: make cramfs work with HIGHMEM pages
- David Fennell: awe32 ram size detection improvement
- Istvan Varadi: umsdos EMD filename bug fix
- Keith Owens: make min/max work for pointers too
- Jan Kara: quota initialization fix
- Brad Hards: Kaweth USB driver update (enable, and fix endianness)
- Ralf Baechle: MIPS updates
- David Gibson: airport driver update
- Rogier Wolff: firestream ATM driver multi-phy support
- Daniel Phillips: swap read page referenced set - avoid swap thrashing
^ permalink raw reply [flat|nested] 44+ messages in thread* Re: Linux-2.4.10 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds @ 2001-09-23 16:41 ` Rob Landley 2001-09-23 21:32 ` Linux-2.4.10 André Dahlqvist 2001-09-23 21:54 ` Linux-2.4.10 Alan Cox 2001-09-23 21:30 ` Linux-2.4.10 + ext3 Michael Rothwell ` (7 subsequent siblings) 8 siblings, 2 replies; 44+ messages in thread From: Rob Landley @ 2001-09-23 16:41 UTC (permalink / raw) To: Linus Torvalds, Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 1290 bytes --] On Sunday 23 September 2001 14:54, Linus Torvalds wrote: > Ok, I released a real 2.4.10, let the fun begin.. > > This is an uncomfortably large changeset, largely because I was away in > Finland twice during the 2.4.9->2.4.10 development, and partly of course > because I've tried to aggressively sync up especially with Alan. > > In addition to the VM changes that have gotten so much attention there are > architecture updates, various major filesystem updates (jffs2 and NTFS), > ACPI updates, and tons of driver merges. And, of course, the min()/max() > changes. > > Give it hell, > > Linus Anybody care to venture an opinion why a menu for "Fusion MPT Device Support" shows up between SCSI and Firewire in the main menu of make menuconfig, but I can't get into it? I press enter and the main menu just redraws. My .config is attached. (Never hand-hacked, but carried forward from... 2.4.7, I think.) I'm fairly certain my laptop hasn't got this hardware, but it's been like this for a while and I'm curious. Oh, and there's no help entries for any of the new kernel hacking stuff, or the new serverworks he/le agpgart support, or PNPBios support under plug and pray... I'll go bug Eric. Nothing to actually stop me from compiling it, of course. (In progress...) Rob [-- Attachment #2: .config --] [-- Type: text/plain, Size: 17088 bytes --] # # Automatically generated by make menuconfig: don't edit # CONFIG_X86=y CONFIG_ISA=y # CONFIG_SBUS is not set CONFIG_UID16=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Loadable module support # CONFIG_MODULES=y CONFIG_MODVERSIONS=y CONFIG_KMOD=y # # Processor type and features # # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M586TSC is not set # CONFIG_M586MMX is not set CONFIG_M686=y # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MK6 is not set # CONFIG_MK7 is not set # CONFIG_MCRUSOE is not set # CONFIG_MWINCHIPC6 is not set # CONFIG_MWINCHIP2 is not set # CONFIG_MWINCHIP3D is not set # CONFIG_MCYRIXIII is not set CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_X86_L1_CACHE_SHIFT=5 CONFIG_X86_TSC=y CONFIG_X86_GOOD_APIC=y CONFIG_X86_PGE=y CONFIG_X86_USE_PPRO_CHECKSUM=y # CONFIG_TOSHIBA is not set # CONFIG_MICROCODE is not set CONFIG_X86_MSR=m # CONFIG_X86_CPUID is not set CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y # CONFIG_SMP is not set CONFIG_X86_UP_IOAPIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_LOCAL_APIC=y # # General setup # CONFIG_NET=y CONFIG_PCI=y # CONFIG_PCI_GOBIOS is not set # CONFIG_PCI_GODIRECT is not set CONFIG_PCI_GOANY=y CONFIG_PCI_BIOS=y CONFIG_PCI_DIRECT=y CONFIG_PCI_NAMES=y # CONFIG_EISA is not set # CONFIG_MCA is not set CONFIG_HOTPLUG=y # # PCMCIA/CardBus support # CONFIG_PCMCIA=y CONFIG_CARDBUS=y CONFIG_I82365=y # CONFIG_TCIC is not set CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y CONFIG_KCORE_ELF=y # CONFIG_KCORE_AOUT is not set CONFIG_BINFMT_AOUT=m CONFIG_BINFMT_ELF=y CONFIG_BINFMT_MISC=m CONFIG_PM=y # CONFIG_ACPI is not set CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set CONFIG_APM_DO_ENABLE=y CONFIG_APM_CPU_IDLE=y CONFIG_APM_DISPLAY_BLANK=y CONFIG_APM_RTC_IS_GMT=y CONFIG_APM_ALLOW_INTS=y # CONFIG_APM_REAL_MODE_POWER_OFF is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Plug and Play configuration # CONFIG_PNP=y # CONFIG_ISAPNP is not set # CONFIG_PNPBIOS is not set # # Block devices # CONFIG_BLK_DEV_FD=y # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_CPQ_CISS_DA is not set # CONFIG_BLK_DEV_DAC960 is not set CONFIG_BLK_DEV_LOOP=m # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_BLK_DEV_MD is not set # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set # CONFIG_MD_RAID1 is not set # CONFIG_MD_RAID5 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_BLK_DEV_LVM is not set # # Networking options # CONFIG_PACKET=y # CONFIG_PACKET_MMAP is not set CONFIG_NETLINK=y CONFIG_RTNETLINK=y # CONFIG_NETLINK_DEV is not set # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # CONFIG_ATM is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Telephony Support # # CONFIG_PHONE is not set # CONFIG_PHONE_IXJ is not set # CONFIG_PHONE_IXJ_PCMCIA is not set # # ATA/IDE/MFM/RLL support # CONFIG_IDE=y # # IDE, ATA and ATAPI Block devices # CONFIG_BLK_DEV_IDE=y # CONFIG_BLK_DEV_HD_IDE is not set # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y # CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_BLK_DEV_IDEDISK_VENDOR is not set # CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set # CONFIG_BLK_DEV_IDEDISK_IBM is not set # CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set # CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set # CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set # CONFIG_BLK_DEV_IDEDISK_WD is not set # CONFIG_BLK_DEV_COMMERIAL is not set # CONFIG_BLK_DEV_TIVO is not set # CONFIG_BLK_DEV_IDECS is not set CONFIG_BLK_DEV_IDECD=m # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set CONFIG_BLK_DEV_CMD640=y # CONFIG_BLK_DEV_CMD640_ENHANCED is not set # CONFIG_BLK_DEV_ISAPNP is not set CONFIG_BLK_DEV_RZ1000=y CONFIG_BLK_DEV_IDEPCI=y CONFIG_IDEPCI_SHARE_IRQ=y CONFIG_BLK_DEV_IDEDMA_PCI=y CONFIG_BLK_DEV_ADMA=y # CONFIG_BLK_DEV_OFFBOARD is not set CONFIG_IDEDMA_PCI_AUTO=y CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_PCI_WIP is not set # CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set # CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_AEC62XX_TUNING is not set # CONFIG_BLK_DEV_ALI15X3 is not set # CONFIG_WDC_ALI15X3 is not set # CONFIG_BLK_DEV_AMD74XX is not set # CONFIG_AMD74XX_OVERRIDE is not set # CONFIG_BLK_DEV_CMD64X is not set # CONFIG_BLK_DEV_CY82C693 is not set # CONFIG_BLK_DEV_CS5530 is not set # CONFIG_BLK_DEV_HPT34X is not set # CONFIG_HPT34X_AUTODMA is not set # CONFIG_BLK_DEV_HPT366 is not set CONFIG_BLK_DEV_PIIX=y CONFIG_PIIX_TUNING=y # CONFIG_BLK_DEV_NS87415 is not set # CONFIG_BLK_DEV_OPTI621 is not set # CONFIG_BLK_DEV_PDC202XX is not set # CONFIG_PDC202XX_BURST is not set # CONFIG_PDC202XX_FORCE is not set # CONFIG_BLK_DEV_SVWKS is not set # CONFIG_BLK_DEV_SIS5513 is not set # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set # CONFIG_IDE_CHIPSETS is not set CONFIG_IDEDMA_AUTO=y # CONFIG_IDEDMA_IVB is not set # CONFIG_DMA_NONPCI is not set CONFIG_BLK_DEV_IDE_MODES=y # CONFIG_BLK_DEV_ATARAID is not set # CONFIG_BLK_DEV_ATARAID_PDC is not set # CONFIG_BLK_DEV_ATARAID_HPT is not set # # SCSI support # # CONFIG_SCSI is not set # # Fusion MPT device support # # CONFIG_FUSION is not set # CONFIG_FUSION_BOOT is not set # CONFIG_FUSION_ISENSE is not set # CONFIG_FUSION_CTL is not set # CONFIG_FUSION_LAN is not set # # IEEE 1394 (FireWire) support (EXPERIMENTAL) # # CONFIG_IEEE1394 is not set # # I2O device support # # CONFIG_I2O is not set # CONFIG_I2O_PCI is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_LAN is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # CONFIG_NET_ETHERNET=y # CONFIG_SUNLANCE is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNBMAC is not set # CONFIG_SUNQE is not set # CONFIG_SUNLANCE is not set # CONFIG_SUNGEM is not set CONFIG_NET_VENDOR_3COM=y CONFIG_EL1=m CONFIG_EL2=m CONFIG_ELPLUS=m CONFIG_EL16=m CONFIG_EL3=m CONFIG_3C515=m # CONFIG_ELMC is not set # CONFIG_ELMC_II is not set CONFIG_VORTEX=m CONFIG_LANCE=m CONFIG_NET_VENDOR_SMC=y CONFIG_WD80x3=m # CONFIG_ULTRAMCA is not set CONFIG_ULTRA=m # CONFIG_ULTRA32 is not set CONFIG_SMC9194=m CONFIG_NET_VENDOR_RACAL=y CONFIG_NI5010=m CONFIG_NI52=m CONFIG_NI65=m CONFIG_AT1700=m CONFIG_DEPCA=m CONFIG_HP100=m CONFIG_NET_ISA=y CONFIG_E2100=m CONFIG_EWRK3=m CONFIG_EEXPRESS=m CONFIG_EEXPRESS_PRO=m CONFIG_HPLAN_PLUS=m CONFIG_HPLAN=m # CONFIG_LP486E is not set CONFIG_ETH16I=m CONFIG_NE2000=m CONFIG_NET_PCI=y CONFIG_PCNET32=m CONFIG_ADAPTEC_STARFIRE=m CONFIG_AC3200=m CONFIG_APRICOT=m CONFIG_CS89x0=m CONFIG_TULIP=m # CONFIG_TULIP_MWI is not set # CONFIG_TULIP_MMIO is not set CONFIG_DE4X5=m CONFIG_DGRS=m CONFIG_DM9102=m CONFIG_EEPRO100=m # CONFIG_LNE390 is not set CONFIG_FEALNX=m CONFIG_NATSEMI=m CONFIG_NE2K_PCI=m # CONFIG_NE3210 is not set # CONFIG_ES3210 is not set CONFIG_8139TOO=m # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_8129 is not set CONFIG_SIS900=m CONFIG_EPIC100=m CONFIG_SUNDANCE=m CONFIG_TLAN=m CONFIG_VIA_RHINE=m CONFIG_WINBOND_840=m # CONFIG_LAN_SAA9730 is not set CONFIG_NET_POCKET=y CONFIG_ATP=m CONFIG_DE600=m CONFIG_DE620=m # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_MYRI_SBUS is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_SK98LIN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # CONFIG_NET_RADIO=y CONFIG_STRIP=m CONFIG_WAVELAN=m CONFIG_ARLAN=m CONFIG_AIRONET4500=m CONFIG_AIRONET4500_NONCS=m CONFIG_AIRONET4500_PNP=y CONFIG_AIRONET4500_PCI=y # CONFIG_AIRONET4500_ISA is not set # CONFIG_AIRONET4500_I365 is not set # CONFIG_AIRONET4500_PROC is not set CONFIG_AIRO=m CONFIG_PCMCIA_HERMES=m CONFIG_AIRO_CS=m CONFIG_NET_WIRELESS=y # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # PCMCIA network device support # CONFIG_NET_PCMCIA=y CONFIG_PCMCIA_3C589=m CONFIG_PCMCIA_3C574=m CONFIG_PCMCIA_FMVJ18X=m CONFIG_PCMCIA_PCNET=m CONFIG_PCMCIA_NMCLAN=m CONFIG_PCMCIA_SMC91C92=m CONFIG_PCMCIA_XIRC2PS=m # CONFIG_ARCNET_COM20020_CS is not set # CONFIG_PCMCIA_IBMTR is not set CONFIG_PCMCIA_XIRCOM=m CONFIG_PCMCIA_XIRTULIP=m CONFIG_NET_PCMCIA_RADIO=y CONFIG_PCMCIA_RAYCS=m CONFIG_PCMCIA_NETWAVE=m CONFIG_PCMCIA_WAVELAN=m # CONFIG_AIRONET4500_CS is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # Old CD-ROM drivers (not SCSI, not IDE) # # CONFIG_CD_NO_IDESCSI is not set # # Input core support # # CONFIG_INPUT is not set # CONFIG_INPUT_KEYBDEV is not set # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_SERIAL=y # CONFIG_SERIAL_CONSOLE is not set # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 # # I2C support # # CONFIG_I2C is not set # # Mice # # CONFIG_BUSMOUSE is not set CONFIG_MOUSE=y CONFIG_PSMOUSE=y # CONFIG_82C710_MOUSE is not set # CONFIG_PC110_PAD is not set # # Joysticks # # CONFIG_INPUT_GAMEPORT is not set # CONFIG_QIC02_TAPE is not set # # Watchdog Cards # # CONFIG_WATCHDOG is not set # CONFIG_INTEL_RNG is not set # CONFIG_NVRAM is not set CONFIG_RTC=m # CONFIG_DTLK is not set # CONFIG_R3964 is not set # CONFIG_APPLICOM is not set # CONFIG_SONYPI is not set # # Ftape, the floppy tape device driver # # CONFIG_FTAPE is not set CONFIG_AGP=y CONFIG_AGP_INTEL=y CONFIG_AGP_I810=y CONFIG_AGP_VIA=y CONFIG_AGP_AMD=y CONFIG_AGP_SIS=y CONFIG_AGP_ALI=y # CONFIG_AGP_SWORKS is not set CONFIG_DRM=y CONFIG_DRM_TDFX=y # CONFIG_DRM_GAMMA is not set # CONFIG_DRM_R128 is not set CONFIG_DRM_RADEON=y # CONFIG_DRM_I810 is not set # CONFIG_DRM_MGA is not set # # PCMCIA character devices # # CONFIG_PCMCIA_SERIAL_CS is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # File systems # # CONFIG_QUOTA is not set # CONFIG_AUTOFS_FS is not set CONFIG_AUTOFS4_FS=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS_RW is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_BFS_FS is not set CONFIG_FAT_FS=m # CONFIG_MSDOS_FS is not set # CONFIG_UMSDOS_FS is not set CONFIG_VFAT_FS=m # CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_CRAMFS is not set CONFIG_TMPFS=y CONFIG_RAMFS=m CONFIG_ISO9660_FS=m CONFIG_JOLIET=y # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_NTFS_RW is not set CONFIG_HPFS_FS=m CONFIG_PROC_FS=y CONFIG_DEVFS_FS=y # CONFIG_DEVFS_MOUNT is not set # CONFIG_DEVFS_DEBUG is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_UFS_FS_WRITE is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_NFS_FS is not set # CONFIG_NFS_V3 is not set # CONFIG_ROOT_NFS is not set # CONFIG_NFSD is not set # CONFIG_NFSD_V3 is not set # CONFIG_SUNRPC is not set # CONFIG_LOCKD is not set CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set # CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_EXTRAS is not set # # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y CONFIG_SMB_NLS=y CONFIG_NLS=y # # Native Language Support # CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=m # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1251 is not set CONFIG_NLS_ISO8859_1=m # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set CONFIG_NLS_ISO8859_15=m # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set CONFIG_NLS_UTF8=m # # Console drivers # CONFIG_VGA_CONSOLE=y CONFIG_VIDEO_SELECT=y # CONFIG_MDA_CONSOLE is not set # # Frame-buffer support # # CONFIG_FB is not set # # Sound # CONFIG_SOUND=y # CONFIG_SOUND_BT878 is not set CONFIG_SOUND_CMPCI=m # CONFIG_SOUND_CMPCI_FM is not set # CONFIG_SOUND_CMPCI_MIDI is not set # CONFIG_SOUND_CMPCI_JOYSTICK is not set # CONFIG_SOUND_CMPCI_CM8738 is not set CONFIG_SOUND_EMU10K1=m # CONFIG_MIDI_EMU10K1 is not set CONFIG_SOUND_FUSION=m CONFIG_SOUND_CS4281=m CONFIG_SOUND_ES1370=m CONFIG_SOUND_ES1371=m CONFIG_SOUND_ESSSOLO1=m CONFIG_SOUND_MAESTRO=m CONFIG_SOUND_MAESTRO3=m CONFIG_SOUND_ICH=m # CONFIG_SOUND_RME96XX is not set CONFIG_SOUND_SONICVIBES=m CONFIG_SOUND_TRIDENT=m CONFIG_SOUND_MSNDCLAS=m # CONFIG_MSNDCLAS_HAVE_BOOT is not set CONFIG_MSNDCLAS_INIT_FILE="/etc/sound/msndinit.bin" CONFIG_MSNDCLAS_PERM_FILE="/etc/sound/msndperm.bin" CONFIG_SOUND_MSNDPIN=m # CONFIG_MSNDPIN_HAVE_BOOT is not set CONFIG_MSNDPIN_INIT_FILE="/etc/sound/pndspini.bin" CONFIG_MSNDPIN_PERM_FILE="/etc/sound/pndsperm.bin" CONFIG_SOUND_VIA82CXXX=m # CONFIG_MIDI_VIA82CXXX is not set CONFIG_SOUND_OSS=m # CONFIG_SOUND_TRACEINIT is not set # CONFIG_SOUND_DMAP is not set CONFIG_SOUND_AD1816=m CONFIG_SOUND_SGALAXY=m CONFIG_SOUND_ADLIB=m CONFIG_SOUND_ACI_MIXER=m CONFIG_SOUND_CS4232=m CONFIG_SOUND_SSCAPE=m CONFIG_SOUND_GUS=m # CONFIG_SOUND_GUS16 is not set # CONFIG_SOUND_GUSMAX is not set CONFIG_SOUND_VMIDI=m CONFIG_SOUND_TRIX=m CONFIG_SOUND_MSS=m CONFIG_SOUND_MPU401=m CONFIG_SOUND_NM256=m CONFIG_SOUND_MAD16=m # CONFIG_MAD16_OLDCARD is not set CONFIG_SOUND_PAS=m # CONFIG_PAS_JOYSTICK is not set CONFIG_SOUND_PSS=m # CONFIG_PSS_MIXER is not set # CONFIG_PSS_HAVE_BOOT is not set CONFIG_SOUND_SB=m CONFIG_SOUND_AWE32_SYNTH=m CONFIG_SOUND_WAVEFRONT=m CONFIG_SOUND_MAUI=m CONFIG_SOUND_YM3812=m CONFIG_SOUND_OPL3SA1=m CONFIG_SOUND_OPL3SA2=m CONFIG_SOUND_YMFPCI=m # CONFIG_SOUND_YMFPCI_LEGACY is not set CONFIG_SOUND_UART6850=m CONFIG_SOUND_AEDSP16=m # CONFIG_SC6600 is not set # CONFIG_AEDSP16_SBPRO is not set # CONFIG_AEDSP16_MSS is not set # CONFIG_AEDSP16_MPU401 is not set # CONFIG_SOUND_TVMIXER is not set # # USB support # # CONFIG_USB is not set # # Bluetooth support # # CONFIG_BLUEZ is not set # # Kernel hacking # CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_IOVIRT is not set CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_BUGVERBOSE is not set ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 16:41 ` Linux-2.4.10 Rob Landley @ 2001-09-23 21:32 ` André Dahlqvist 2001-09-23 21:54 ` Linux-2.4.10 Alan Cox 1 sibling, 0 replies; 44+ messages in thread From: André Dahlqvist @ 2001-09-23 21:32 UTC (permalink / raw) To: Kernel Mailing List Rob Landley <landley@trommello.org> wrote: > Anybody care to venture an opinion why a menu for "Fusion MPT Device Support" > shows up between SCSI and Firewire in the main menu of make menuconfig, but I > can't get into it? I press enter and the main menu just redraws. My .config > is attached. (Never hand-hacked, but carried forward from... 2.4.7, I > think.) That's because "Fusion MPT Device Support" required an option that you have not selected. It's a bug that the menu is displayed at all in that case of course, but I'm not sure CML1 can handle it. -- André Dahlqvist <andre.dahlqvist@telia.com> ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 16:41 ` Linux-2.4.10 Rob Landley 2001-09-23 21:32 ` Linux-2.4.10 André Dahlqvist @ 2001-09-23 21:54 ` Alan Cox 1 sibling, 0 replies; 44+ messages in thread From: Alan Cox @ 2001-09-23 21:54 UTC (permalink / raw) To: landley; +Cc: Linus Torvalds, Kernel Mailing List > Anybody care to venture an opinion why a menu for "Fusion MPT Device Support" > shows up between SCSI and Firewire in the main menu of make menuconfig, but I > can't get into it? I press enter and the main menu just redraws. My .config > is attached. (Never hand-hacked, but carried forward from... 2.4.7, I > think.) Because menuconfig doesnt do the right thing when the menu only contains items you cant select for other reasons > the new serverworks he/le agpgart support, or PNPBios support under plug and > pray... I'll go bug Eric. PnPBIOS is only in -ac. There is help for it there. In fact there is a lot of help text only in -ac but merging them all is non trivial and I figured code first was better ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds 2001-09-23 16:41 ` Linux-2.4.10 Rob Landley @ 2001-09-23 21:30 ` Michael Rothwell 2001-09-23 22:18 ` Gergely Nagy 2001-09-24 2:06 ` Linus Torvalds 2001-09-23 21:54 ` Linux-2.4.10 Trond Myklebust ` (6 subsequent siblings) 8 siblings, 2 replies; 44+ messages in thread From: Michael Rothwell @ 2001-09-23 21:30 UTC (permalink / raw) To: Kernel Mailing List On 23 Sep 2001 11:54:13 -0700, Linus Torvalds wrote: > > Ok, I released a real 2.4.10, let the fun begin.. I'd love to have ext3 support in it... ;) Fun begins later, I suppose... ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-23 21:30 ` Linux-2.4.10 + ext3 Michael Rothwell @ 2001-09-23 22:18 ` Gergely Nagy 2001-09-24 2:06 ` Linus Torvalds 1 sibling, 0 replies; 44+ messages in thread From: Gergely Nagy @ 2001-09-23 22:18 UTC (permalink / raw) To: Kernel Mailing List; +Cc: Michael Rothwell [-- Attachment #1: Type: text/plain, Size: 610 bytes --] Thus spoke Michael Rothwell <rothwell@holly-springs.nc.us> on 2001-09-23 17:30:20: > On 23 Sep 2001 11:54:13 -0700, Linus Torvalds wrote: > > > > Ok, I released a real 2.4.10, let the fun begin.. > > I'd love to have ext3 support in it... ;) Fun begins later, I suppose... I have an ext3 0.9.9 patch against 2.4.10 on midgard.debian.net/~algernon/, which I made from a patch against 2.4.10-pre4. Since I'm no kernel hacker, I don't know if I did everything right, but it appears to work :) However, seeing it in the official Linus tree would be cool :) Cheers, -- Gergely Nagy \ mhp/|8] [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-23 21:30 ` Linux-2.4.10 + ext3 Michael Rothwell 2001-09-23 22:18 ` Gergely Nagy @ 2001-09-24 2:06 ` Linus Torvalds 2001-09-24 2:30 ` Aaron Lehmann 2001-09-26 16:49 ` Stephen C. Tweedie 1 sibling, 2 replies; 44+ messages in thread From: Linus Torvalds @ 2001-09-24 2:06 UTC (permalink / raw) To: linux-kernel In article <1001280620.3540.33.camel@gromit.house>, Michael Rothwell <rothwell@holly-springs.nc.us> wrote: >On 23 Sep 2001 11:54:13 -0700, Linus Torvalds wrote: >> >> Ok, I released a real 2.4.10, let the fun begin.. > >I'd love to have ext3 support in it... ;) Fun begins later, I suppose... We'll merge ext3 soon enough.. As RH seems to start using it more and more, there's more reason to merge it into the standard kernel too. So don't worry. It will happen. Linus ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 2:06 ` Linus Torvalds @ 2001-09-24 2:30 ` Aaron Lehmann 2001-09-24 3:45 ` Andrew Morton 2001-09-24 18:12 ` Linus Torvalds 2001-09-26 16:49 ` Stephen C. Tweedie 1 sibling, 2 replies; 44+ messages in thread From: Aaron Lehmann @ 2001-09-24 2:30 UTC (permalink / raw) To: linux-kernel On Mon, Sep 24, 2001 at 02:06:05AM +0000, Linus Torvalds wrote: > We'll merge ext3 soon enough.. As RH seems to start using it more and > more, there's more reason to merge it into the standard kernel too. > > So don't worry. It will happen. Kinda OT, but ext3 is often treated more like a new file system than an extension of ext2. I'm wondering if this is a good thing. On the machines where I use it I have to compile both ext3 and ext2 (because it would be foolish to not have ext2 support) into the kernel. Theoretically, is there any reason why the codebases can't be integrated, allowing you mount ext2 FS' without journalling using only the ext3 code, and not requring a copy of its ancestor ext2 in the kernel? Or is there a way already? ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 2:30 ` Aaron Lehmann @ 2001-09-24 3:45 ` Andrew Morton 2001-09-24 4:35 ` Simon Fowler 2001-09-24 4:45 ` Aaron Lehmann 2001-09-24 18:12 ` Linus Torvalds 1 sibling, 2 replies; 44+ messages in thread From: Andrew Morton @ 2001-09-24 3:45 UTC (permalink / raw) To: Aaron Lehmann; +Cc: linux-kernel Aaron Lehmann wrote: > > On Mon, Sep 24, 2001 at 02:06:05AM +0000, Linus Torvalds wrote: > > We'll merge ext3 soon enough.. As RH seems to start using it more and > > more, there's more reason to merge it into the standard kernel too. > > > > So don't worry. It will happen. > > Kinda OT, but ext3 is often treated more like a new file system than > an extension of ext2. I'm wondering if this is a good thing. On the > machines where I use it I have to compile both ext3 and ext2 (because > it would be foolish to not have ext2 support) into the kernel. > Theoretically, is there any reason why the codebases can't be > integrated, allowing you mount ext2 FS' without journalling using only > the ext3 code, and not requring a copy of its ancestor ext2 in the > kernel? Or is there a way already? It has been discussed - this is something which Andreas is interested in, and the ext3<->JBD layer was abstracted out with the intention that it would be easy to disable all the journalling stuff at runtime, so we essentially mount the filesystem in ext2-mode. Also, we currently have some unused overhead for read-only mounts - the kjournald thread is started, but doesn't do anything in readonly mode. So yes, it would be nice if an ext3-only kernel could drive ext2 filesystems, but not super-important. As for the other part of your suggestion: make ext2 "obsolete": I don't think so. ext3 is wickedly complex, and ext2 is the reference filesystem for Linux. It could be argued (at length) that the VFS and block layers were designed for, and are almost part of ext2. New developments such as metadata-in-pagecache and O_DIRECT file access were relatively straightforward to develop for ext2, and are relatively horrid for ext3 - the developers of those features wouldn't have appreciated having all the journalling and ordering goop getting in their way. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 3:45 ` Andrew Morton @ 2001-09-24 4:35 ` Simon Fowler 2001-09-24 20:40 ` Stephen C. Tweedie 2001-09-24 4:45 ` Aaron Lehmann 1 sibling, 1 reply; 44+ messages in thread From: Simon Fowler @ 2001-09-24 4:35 UTC (permalink / raw) To: linux-kernel On Sun, Sep 23, 2001 at 08:45:22PM -0700, Andrew Morton wrote: > Aaron Lehmann wrote: > > > > On Mon, Sep 24, 2001 at 02:06:05AM +0000, Linus Torvalds wrote: > > > We'll merge ext3 soon enough.. As RH seems to start using it more and > > > more, there's more reason to merge it into the standard kernel too. > > > > > > So don't worry. It will happen. Speaking of ext3 and 2.4.10, do you have an idea when you could get an updated ext3 patch for 2.4.10? I tried applying the latest 0.9.9 patch to 2.4.10-pre12, fixing the rejections by hand, but the result was an oops when fsck.ext3 ran on boot. The biggest problem was with the changes in mm/vmscan.c - I added try_to_release_page(), and replaced the only call to try_to_free_buffers() that I found (as the patch did). All the other rejections were one liners. I've seen reports of ext3 working with the vmscan.c hunk ignored - is this a reasonable approach? Thanks for any assistance, Simon Fowler -- PGP public key Id 0x144A991C, or ftp://bg77.anu.edu.au/pub/himi/himi.asc (crappy) Homepage: http://bg77.anu.edu.au doe #237 (see http://www.lemuria.org/DeCSS) My DeCSS mirror: ftp://bg77.anu.edu.au/pub/mirrors/css/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 4:35 ` Simon Fowler @ 2001-09-24 20:40 ` Stephen C. Tweedie 0 siblings, 0 replies; 44+ messages in thread From: Stephen C. Tweedie @ 2001-09-24 20:40 UTC (permalink / raw) To: linux-kernel; +Cc: Stephen Tweedie On Mon, Sep 24, 2001 at 02:35:01PM +1000, Simon Fowler wrote: > > Speaking of ext3 and 2.4.10, do you have an idea when you could > get an updated ext3 patch for 2.4.10? It's already online. --Stephen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 3:45 ` Andrew Morton 2001-09-24 4:35 ` Simon Fowler @ 2001-09-24 4:45 ` Aaron Lehmann 2001-09-24 5:19 ` Andrew Morton 1 sibling, 1 reply; 44+ messages in thread From: Aaron Lehmann @ 2001-09-24 4:45 UTC (permalink / raw) To: Andrew Morton; +Cc: linux-kernel On Sun, Sep 23, 2001 at 08:45:22PM -0700, Andrew Morton wrote: > So yes, it would be nice if an ext3-only kernel could drive ext2 > filesystems, but not super-important. Cool. > As for the other part of your suggestion: make ext2 "obsolete": > I don't think so. ext3 is wickedly complex, and ext2 is the > reference filesystem for Linux. It could be argued (at length) that > the VFS and block layers were designed for, and are almost part of > ext2. I didn't mean to imply this. I love ext2 and still use it more than probably any other filesystem (judging by numbers of partitions). I simply was hoping for insted of: <*> EXT2 fs <*> EXT3 fs (which is required today for most ext3-using people who want to do ext2 mounts) ... there could be: <*> EXT2 fs <*> EXT3 journalling extensions AFAIK this would eliminate a lot of duplicate kernel code for ext3 users. But anyway, I'm not saying that ext2 should be made obsolete. I only use ext3 on one machine and I would be much more annoyed if I had to enable ext3 on the other machines than live with my current situation of needing both ext2 and ext3 in the kernel on this particular one. I think you understand ;-). ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 4:45 ` Aaron Lehmann @ 2001-09-24 5:19 ` Andrew Morton 2001-09-24 19:49 ` Jamie Lokier 0 siblings, 1 reply; 44+ messages in thread From: Andrew Morton @ 2001-09-24 5:19 UTC (permalink / raw) To: Aaron Lehmann; +Cc: linux-kernel Aaron Lehmann wrote: > > ... > I simply was hoping for insted of: > > <*> EXT2 fs > <*> EXT3 fs > > (which is required today for most ext3-using people who want to do ext2 > mounts) > > ... there could be: > > <*> EXT2 fs > <*> EXT3 journalling extensions > > AFAIK this would eliminate a lot of duplicate kernel code for ext3 > users. > mm.. The filesystems could be pretty much identical on the reading path, but they're quite dissimilar on the writing path. So the reading-stuff code could be commoned up. I don't think it'd buy much, though. They are different filesystems and the fact that ext3 borrows a lot of ext2 code is a useful consequence of it having the same on-disk format. And the main reason for having the same on-disk format is not, IMO, to ease migration between the two filesystems. That's just a once-off activity. The main reason for preserving compatibility is so that ext3 can leverage e2fsprogs, and the wealth of knowledge and understanding of ext2 performance and behaviour. The ext2-compatibility seems to be a bit of a political albatross for ext3, really - people appear to be of the opinion that the ext3 design was somehow compromised by the compatibility requirement. This isn't so - ext3 is a block-level journalled filesystem. It could have been based on minixfs, UFS, sysvfs, etc. Or it could have been something altogether new. But I can't think of any benefit in changing the on-disk format from its current ext2ness. - ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 5:19 ` Andrew Morton @ 2001-09-24 19:49 ` Jamie Lokier 2001-09-24 20:22 ` Chris Meadors 2001-09-24 21:04 ` Andreas Dilger 0 siblings, 2 replies; 44+ messages in thread From: Jamie Lokier @ 2001-09-24 19:49 UTC (permalink / raw) To: Andrew Morton; +Cc: Aaron Lehmann, linux-kernel Andrew Morton wrote: > And the main reason for having the same on-disk format is not, IMO, to > ease migration between the two filesystems. That's just a once-off > activity. I disagree that it's a once-off activity. I've been known to switch between ext2 and ext3 and ext2 and ext3... just so I can boot old kernels such as rescue disks. It's nice to be able to do this. Also I don't think resize2fs resizes the journal (but I may be wrong), so I've converted ext3 to ext2 to resize a filesystem, then converted back. I did have a big disaster once when I compiled ext3 into a kernel and not ext2 (which I left as a module). You can guess, it couldn't mount the root filesystem. -- Jamie ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 19:49 ` Jamie Lokier @ 2001-09-24 20:22 ` Chris Meadors 2001-09-24 21:57 ` Jamie Lokier 2001-09-24 21:04 ` Andreas Dilger 1 sibling, 1 reply; 44+ messages in thread From: Chris Meadors @ 2001-09-24 20:22 UTC (permalink / raw) To: Jamie Lokier; +Cc: linux-kernel@vger.kernel.org On Mon, 24 Sep 2001, Jamie Lokier wrote: > I did have a big disaster once when I compiled ext3 into a kernel and > not ext2 (which I left as a module). You can guess, it couldn't mount > the root filesystem. What exactly did you do? I have several machines that only have ext3 compiled in, no ext2 at all, module or otherwise. They all boot fine. -Chris -- Two penguins were walking on an iceberg. The first penguin said to the second, "you look like you are wearing a tuxedo." The second penguin said, "I might be..." --David Lynch, Twin Peaks ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 20:22 ` Chris Meadors @ 2001-09-24 21:57 ` Jamie Lokier 0 siblings, 0 replies; 44+ messages in thread From: Jamie Lokier @ 2001-09-24 21:57 UTC (permalink / raw) To: Chris Meadors; +Cc: linux-kernel@vger.kernel.org Chris Meadors wrote: > > I did have a big disaster once when I compiled ext3 into a kernel and > > not ext2 (which I left as a module). You can guess, it couldn't mount > > the root filesystem. > > What exactly did you do? I have several machines that only have ext3 > compiled in, no ext2 at all, module or otherwise. They all boot fine. So do mine. I had forgotten to convert the root filesystem, that's all. -- Jamie ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 19:49 ` Jamie Lokier 2001-09-24 20:22 ` Chris Meadors @ 2001-09-24 21:04 ` Andreas Dilger 1 sibling, 0 replies; 44+ messages in thread From: Andreas Dilger @ 2001-09-24 21:04 UTC (permalink / raw) To: Jamie Lokier; +Cc: Aaron Lehmann, linux-kernel On Sep 24, 2001 20:49 +0100, Jamie Lokier wrote: > Andrew Morton wrote: > > And the main reason for having the same on-disk format is not, IMO, to > > ease migration between the two filesystems. That's just a once-off > > activity. > > I disagree that it's a once-off activity. I've been known to switch > between ext2 and ext3 and ext2 and ext3... just so I can boot old > kernels such as rescue disks. It's nice to be able to do this. Well, you don't need to remove the journal just to boot off of a rescue disk. The only requirement is that you have a clean unmount of the ext3 filesystem (although if you DO have a booting problem that can also be a bit of a challenge). > Also I don't think resize2fs resizes the journal (but I may be wrong), > so I've converted ext3 to ext2 to resize a filesystem, then converted > back. I think you're wrong on this one. As long as you unmount the filesystem, resize2fs should be able to handle it (as will ext2resize). > I did have a big disaster once when I compiled ext3 into a kernel and > not ext2 (which I left as a module). You can guess, it couldn't mount > the root filesystem. Yes, this is one reason why removing the journal all the time is a bad idea. This won't be a problem at some point in the future when it is possible for the ext3 code to mount an unjournaled filesystem (ala ext2), but that still needs a bit of work that isn't very high priority. Cheers, Andreas -- Andreas Dilger \ "If a man ate a pound of pasta and a pound of antipasto, \ would they cancel out, leaving him still hungry?" http://www-mddsp.enel.ucalgary.ca/People/adilger/ -- Dogbert ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 2:30 ` Aaron Lehmann 2001-09-24 3:45 ` Andrew Morton @ 2001-09-24 18:12 ` Linus Torvalds 2001-09-24 18:25 ` Alexander Viro 1 sibling, 1 reply; 44+ messages in thread From: Linus Torvalds @ 2001-09-24 18:12 UTC (permalink / raw) To: linux-kernel In article <20010923193008.A13982@vitelus.com>, Aaron Lehmann <aaronl@vitelus.com> wrote: >On Mon, Sep 24, 2001 at 02:06:05AM +0000, Linus Torvalds wrote: >> We'll merge ext3 soon enough.. As RH seems to start using it more and >> more, there's more reason to merge it into the standard kernel too. >> >> So don't worry. It will happen. > >Kinda OT, but ext3 is often treated more like a new file system than >an extension of ext2. I'm wondering if this is a good thing. On the >machines where I use it I have to compile both ext3 and ext2 (because >it would be foolish to not have ext2 support) into the kernel. Well, for one thing I absolutely refused during ext3 development to have ext3 just be an "extension" to ext2. That _was_ how it was originally thought of, and I very much wanted ext3 to be separate - I strongly felt that it would be stupid to force people who use ext2 for "stable" reasons to have to get the extensions (and I hate #ifdef's). And quite frankly, I don't think we _still_ are at the point where I'd be comfortable saying that we could just merge them, and everybody would use the superset of the code. In five years maybe nobody has any stability worries at all about ext3 code, and we can just drop ext2 and consider it purely a backwards compatibility extension of ext3. Linus ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 18:12 ` Linus Torvalds @ 2001-09-24 18:25 ` Alexander Viro 0 siblings, 0 replies; 44+ messages in thread From: Alexander Viro @ 2001-09-24 18:25 UTC (permalink / raw) To: Linus Torvalds; +Cc: linux-kernel On Mon, 24 Sep 2001, Linus Torvalds wrote: > Well, for one thing I absolutely refused during ext3 development to have > ext3 just be an "extension" to ext2. That _was_ how it was originally > thought of, and I very much wanted ext3 to be separate - I strongly felt > that it would be stupid to force people who use ext2 for "stable" > reasons to have to get the extensions (and I hate #ifdef's). > > And quite frankly, I don't think we _still_ are at the point where I'd > be comfortable saying that we could just merge them, and everybody would > use the superset of the code. What we can do, though, is to move some of the common code into a library. We are not ready to do that right now, but in 2.5 it might be worth doing. Same goes for minixfs/sysvfs/ufs - quite a few things are shared (which is hardly a surprise - filesystems themselves have a lot in common). ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-24 2:06 ` Linus Torvalds 2001-09-24 2:30 ` Aaron Lehmann @ 2001-09-26 16:49 ` Stephen C. Tweedie 2001-09-27 12:12 ` Jan Kara 1 sibling, 1 reply; 44+ messages in thread From: Stephen C. Tweedie @ 2001-09-26 16:49 UTC (permalink / raw) To: Linus Torvalds; +Cc: linux-kernel, ext2-devel, Andrew Morton, Stephen Tweedie Hi, On Mon, Sep 24, 2001 at 02:06:05AM +0000, Linus Torvalds wrote: > We'll merge ext3 soon enough.. As RH seems to start using it more and > more, there's more reason to merge it into the standard kernel too. I was expecting to have to merge into 2.5 first and back-port if necessary, but either way, it's worthwhile talking about what is needed for the merge. The core ext3 code has basically two extensions to the core kernel; the rest is modular. The first change is minor, but from a cleanliness point of view perhaps the one more open to debate: ext3 currently adds a task struct field to indicate if the task is already running an ext3 transaction. (It's a void * but I'll be cleaning that up to be a struct super_block *). ext3 needs to remain transactional even when making recursive calls into the filesystem, and ext3 implements quotas, which are quite capable of recursing into the fs if we end up hitting the VM at the wrong moment. Such recursions have to be handled very, very carefully: a legal recursion within one filesystem is valid, but recursions between filesystems absolutely must be avoided, as this can lead to deadlock. And there are recursions we just can't get rid of --- an inode delete ends up deallocating the inode on disk and updating the dquot (which does a dqput, which writes the quota entry using the normal VFS API), and we _have_ to make that quota-file write a nested transaction if we want quotas to be atomic with respect to journal recovery. Short of adding a new context parameter to be passed all the way through the quota and VM layers wherever this sort of recursion is possible, we need to attach that context to the task. (Without a task struct field, though, we can still hash outstanding transaction handles by pid for fast lookup.) The second set of changes includes a couple of places where the existing VFS isn't quite intelligent enough for ext3, and where we want to add a little extra processing. Replacing the existing processing is possible, but ext3 still looks a lot like ext2 --- it has page->buffers, and those buffers can live on the normal writeback lists, for example --- so replacing the existing address_space ops wholesale ends up forcing ext3 to reproduce huge amounts of code, and we'd still be short of a few desired hooks. Right now the areas trapped by ext3 include: try_to_free_buffers: Replace with a generic try_to_release_page, which allows other metadata associate with the page (or its buffers) to be released, rather than being limited to page->buffers cleanup. block_flushpage: We might be trying to delete a page which was written in a previous transaction, and which is still in the process of being written to disk as part of background commit. We can't just throw away the buffer_heads if they are still being written that way. (The other place ext3 used to add to the address_space code was to balance every prepare_write with a commit_write, but the current kernel does that for us anyway now.) Both of these are used by ext3 because of its support for data journaling (in which all data writes are first written atomically to the journal), and data ordering (in which data writes get flushed to disk as normal, but must be pushed out before the transaction which wrote the data can commit). The tying of data blocks to background commit means that we simply can't be as free about discarding buffers as the normal page->buffers management code would like to be. ext3 also requires that we fix the problem we talked about before in which a page fault executing in parallel with a truncate can leave a stranded, anonymous page mapped into the mmap area. This particular problem is much worse in ext3 than in ext2 precisely because of the block_flushpage change --- deleted pages often have to be left behind for further processing as part of a background commit, and the stranded-page scenario is much more likely to lead to a bug if block_flushpage is unable to remove the page from the LRU lists, and some of the ext3 stress tests basically can't complete without that bug fixed. Cheers, Stephen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-26 16:49 ` Stephen C. Tweedie @ 2001-09-27 12:12 ` Jan Kara 2001-09-27 18:37 ` Stephen C. Tweedie 0 siblings, 1 reply; 44+ messages in thread From: Jan Kara @ 2001-09-27 12:12 UTC (permalink / raw) To: Stephen C. Tweedie Cc: Linus Torvalds, linux-kernel, ext2-devel, Andrew Morton Hello, <snip> > ext3 needs to remain transactional even when making recursive calls > into the filesystem, and ext3 implements quotas, which are quite > capable of recursing into the fs if we end up hitting the VM at the > wrong moment. Such recursions have to be handled very, very > carefully: a legal recursion within one filesystem is valid, but > recursions between filesystems absolutely must be avoided, as this can > lead to deadlock. > > And there are recursions we just can't get rid of --- an inode delete > ends up deallocating the inode on disk and updating the dquot (which > does a dqput, which writes the quota entry using the normal VFS API), > and we _have_ to make that quota-file write a nested transaction if we > want quotas to be atomic with respect to journal recovery. Short of > adding a new context parameter to be passed all the way through the > quota and VM layers wherever this sort of recursion is possible, we > need to attach that context to the task. (Without a task struct > field, though, we can still hash outstanding transaction handles by > pid for fast lookup.) Actually Alan should now have patch in his queue which makes quota guarantee no recursion on DQUOT_ALLOC/FREE operations (apart from mark_inode_dirty()). Recursion is possible only in DQUOT_DROP, DQUOT_INIT and DQUOT_TRANSFER. So this patch might help ext3 a bit. Honza -- Jan Kara <jack@suse.cz> SuSE Labs ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 + ext3 2001-09-27 12:12 ` Jan Kara @ 2001-09-27 18:37 ` Stephen C. Tweedie 0 siblings, 0 replies; 44+ messages in thread From: Stephen C. Tweedie @ 2001-09-27 18:37 UTC (permalink / raw) To: Jan Kara Cc: Stephen C. Tweedie, Linus Torvalds, linux-kernel, ext2-devel, Andrew Morton Hi, On Thu, Sep 27, 2001 at 02:12:44PM +0200, Jan Kara wrote: > > And there are recursions we just can't get rid of --- an inode delete > > ends up deallocating the inode on disk and updating the dquot (which > > does a dqput, which writes the quota entry using the normal VFS API), > > and we _have_ to make that quota-file write a nested transaction if we > > want quotas to be atomic with respect to journal recovery. Short of > > adding a new context parameter to be passed all the way through the > > quota and VM layers wherever this sort of recursion is possible, we > > need to attach that context to the task. (Without a task struct > > field, though, we can still hash outstanding transaction handles by > > pid for fast lookup.) > Actually Alan should now have patch in his queue which makes > quota guarantee no recursion on DQUOT_ALLOC/FREE operations (apart from > mark_inode_dirty()). Recursion is possible only in DQUOT_DROP, > DQUOT_INIT and DQUOT_TRANSFER. So this patch might help ext3 a bit. Possibly: it might be possible to defer the dquot_drop until after we've closed the transaction which deleted the inode. Thanks. Cheers, Stephen ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds 2001-09-23 16:41 ` Linux-2.4.10 Rob Landley 2001-09-23 21:30 ` Linux-2.4.10 + ext3 Michael Rothwell @ 2001-09-23 21:54 ` Trond Myklebust 2001-09-23 22:34 ` Linux-2.4.10 David Woodhouse ` (5 subsequent siblings) 8 siblings, 0 replies; 44+ messages in thread From: Trond Myklebust @ 2001-09-23 21:54 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List >>>>> " " == Linus Torvalds <torvalds@transmeta.com> writes: > - Trond Myklebust: 64-bit file locking fixes Just for the record: H.J. Lu should take part of the blame for this one... Cheers, Trond ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds ` (2 preceding siblings ...) 2001-09-23 21:54 ` Linux-2.4.10 Trond Myklebust @ 2001-09-23 22:34 ` David Woodhouse 2001-09-24 6:28 ` Linux-2.4.10 Erik Andersen 2001-09-24 6:48 ` Linux-2.4.10 David Woodhouse 2001-09-23 22:40 ` Linux-2.4.10 - necessary patches Eyal Lebedinsky ` (4 subsequent siblings) 8 siblings, 2 replies; 44+ messages in thread From: David Woodhouse @ 2001-09-23 22:34 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List torvalds@transmeta.com said: > In addition to the VM changes that have gotten so much attention there > are architecture updates, various major filesystem updates (jffs2 and > NTFS), JFFS2 can't actually be built at the moment because the magic in fs/Makefile and fs/Config.in appears to be absent. The fix for that is about number 20 in the patchbomb I'm currently preparing. The terminally impatient can find the whole patch, before I finish removing some of the backward-compatibility crap, at ftp.uk.linux.org:/pub/people/dwmw2/mtd/mtd-diff-against-2.4.10-v2 -- dwmw2 ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 22:34 ` Linux-2.4.10 David Woodhouse @ 2001-09-24 6:28 ` Erik Andersen 2001-09-24 6:48 ` Linux-2.4.10 David Woodhouse 1 sibling, 0 replies; 44+ messages in thread From: Erik Andersen @ 2001-09-24 6:28 UTC (permalink / raw) To: David Woodhouse; +Cc: Kernel Mailing List On Sun Sep 23, 2001 at 11:34:02PM +0100, David Woodhouse wrote: > > torvalds@transmeta.com said: > > In addition to the VM changes that have gotten so much attention there > > are architecture updates, various major filesystem updates (jffs2 and > > NTFS), > > JFFS2 can't actually be built at the moment because the magic in > fs/Makefile and fs/Config.in appears to be absent. The fix for that is > about number 20 in the patchbomb I'm currently preparing. > > The terminally impatient can find the whole patch, before I finish removing > some of the backward-compatibility crap, at > ftp.uk.linux.org:/pub/people/dwmw2/mtd/mtd-diff-against-2.4.10-v2 Is jffs2 still showing the Child dir "." (ino #1) of dir ino #1 appears to be a hard link problem? I saw you patched mkfs.jffs2 after my changes -- do you still need me to hunt down that bug I added? -Erik -- Erik B. Andersen email: andersee@debian.org, formerly of Lineo --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 22:34 ` Linux-2.4.10 David Woodhouse 2001-09-24 6:28 ` Linux-2.4.10 Erik Andersen @ 2001-09-24 6:48 ` David Woodhouse 2001-09-24 17:40 ` Linux-2.4.10 Erik Andersen 2001-09-24 17:41 ` Linux-2.4.10 David Woodhouse 1 sibling, 2 replies; 44+ messages in thread From: David Woodhouse @ 2001-09-24 6:48 UTC (permalink / raw) To: andersen; +Cc: David Woodhouse, Kernel Mailing List andersen@codepoet.org said: > Is jffs2 still showing the > Child dir "." (ino #1) of dir ino #1 appears to be a hard link > problem? I saw you patched mkfs.jffs2 after my changes -- do you > still need me to hunt down that bug I added? Yes please. The patch I committed just made it happier with a relative (or no) root directory - it was changing into the specified directory and then still prepending its name to every path. I assume it's still emitting a dirent for '.' in the root directory as it was before. The JFFS2 kernel code doesn't like that very much. -- dwmw2 ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 6:48 ` Linux-2.4.10 David Woodhouse @ 2001-09-24 17:40 ` Erik Andersen 2001-09-24 17:41 ` Linux-2.4.10 David Woodhouse 1 sibling, 0 replies; 44+ messages in thread From: Erik Andersen @ 2001-09-24 17:40 UTC (permalink / raw) To: David Woodhouse; +Cc: Kernel Mailing List On Mon Sep 24, 2001 at 07:48:47AM +0100, David Woodhouse wrote: > > andersen@codepoet.org said: > > Is jffs2 still showing the > > Child dir "." (ino #1) of dir ino #1 appears to be a hard link > > problem? I saw you patched mkfs.jffs2 after my changes -- do you > > still need me to hunt down that bug I added? > > Yes please. The patch I committed just made it happier with a relative (or > no) root directory - it was changing into the specified directory and then > still prepending its name to every path. I assume it's still emitting a > dirent for '.' in the root directory as it was before. The JFFS2 kernel code > doesn't like that very much. This seems to fix it, but I'm not certain this is correct? Should / on jffs2 have neither inode nor dirent added? --- mkfs.jffs2.c 2001/09/17 13:43:32 1.16 +++ mkfs.jffs2.c 2001/09/24 17:37:40 @@ -924,10 +924,11 @@ name = tmp_dir->name; sb = tmp_dir->sb; if (!tmp_dir->parent) { + /* Cope with the root directory */ ino = highest_ino++; - debug_msg("writing '/' ino=%lu", (unsigned long) ino); - output_pipe(ino, &sb); - write_dirent(ino, version++, ino, timestamp, DT_DIR, name); + debug_msg("writing '%s' ino=%lu", name, (unsigned long) ino); + //output_pipe(ino, &sb); + //write_dirent(ino, version++, ino, timestamp, DT_DIR, name); tmp_dir = tmp_dir->next; continue; } -Erik -- Erik B. Andersen email: andersee@debian.org, formerly of Lineo --This message was written using 73% post-consumer electrons-- ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 6:48 ` Linux-2.4.10 David Woodhouse 2001-09-24 17:40 ` Linux-2.4.10 Erik Andersen @ 2001-09-24 17:41 ` David Woodhouse 1 sibling, 0 replies; 44+ messages in thread From: David Woodhouse @ 2001-09-24 17:41 UTC (permalink / raw) To: andersen; +Cc: Kernel Mailing List andersen@codepoet.org said: > This seems to fix it, but I'm not certain this is correct? Should / > on jffs2 have neither inode nor dirent added? inode for / is fine, although unnecessary. dirent you mustn't have. -- dwmw2 ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 - necessary patches 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds ` (3 preceding siblings ...) 2001-09-23 22:34 ` Linux-2.4.10 David Woodhouse @ 2001-09-23 22:40 ` Eyal Lebedinsky 2001-09-24 0:04 ` Alan Cox 2001-09-24 1:25 ` Linux-2.4.10 Matthias Andree ` (3 subsequent siblings) 8 siblings, 1 reply; 44+ messages in thread From: Eyal Lebedinsky @ 2001-09-23 22:40 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 123 bytes --] To build 2.4.10 I needed these two (old) patches. -- Eyal Lebedinsky (eyal@eyal.emu.id.au) <http://samba.anu.edu.au/eyal/> [-- Attachment #2: 2.4.10-aironet.patch --] [-- Type: text/plain, Size: 274 bytes --] --- linux/drivers/net/aironet4500_card.c.orig Fri Sep 21 22:14:16 2001 +++ linux/drivers/net/aironet4500_card.c Fri Sep 21 22:14:37 2001 @@ -17,6 +17,7 @@ #endif #include <linux/version.h> +#include <linux/init.h> #include <linux/config.h> #include <linux/module.h> [-- Attachment #3: 2.4.10-cpqfc.patch --] [-- Type: text/plain, Size: 902 bytes --] --- linux-2.4.10-pre7/include/scsi/scsi.h Fri Apr 27 13:59:19 2001 +++ linux/include/scsi/scsi.h Mon Sep 10 03:53:58 2001 @@ -214,6 +214,12 @@ /* Used to get the PCI location of a device */ #define SCSI_IOCTL_GET_PCI 0x5387 +/* Used to invoke Target Defice Reset for Fibre Channel */ +#define SCSI_IOCTL_FC_TDR 0x5388 + +/* Used to get Fibre Channel WWN and port_id from device */ +#define SCSI_IOCTL_FC_TARGET_ADDRESS 0x5389 + /* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically --- linux-2.4.10-pre7/drivers/scsi/cpqfcTSinit.c Sun Aug 12 10:51:41 2001 +++ linux/drivers/scsi/cpqfcTSinit.c Mon Sep 10 03:54:23 2001 @@ -63,6 +63,7 @@ #include <linux/config.h> #include <linux/module.h> +#include <linux/init.h> #include <linux/version.h> /* Embedded module documentation macros - see module.h */ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 - necessary patches 2001-09-23 22:40 ` Linux-2.4.10 - necessary patches Eyal Lebedinsky @ 2001-09-24 0:04 ` Alan Cox 2001-09-24 14:42 ` Oliver Xymoron 0 siblings, 1 reply; 44+ messages in thread From: Alan Cox @ 2001-09-24 0:04 UTC (permalink / raw) To: Eyal Lebedinsky; +Cc: Linus Torvalds, Kernel Mailing List > > --- linux-2.4.10-pre7/include/scsi/scsi.h Fri Apr 27 13:59:19 2001 > +++ linux/include/scsi/scsi.h Mon Sep 10 03:53:58 2001 > @@ -214,6 +214,12 @@ > /* Used to get the PCI location of a device */ > #define SCSI_IOCTL_GET_PCI 0x5387 > > +/* Used to invoke Target Defice Reset for Fibre Channel */ > +#define SCSI_IOCTL_FC_TDR 0x5388 > + > +/* Used to get Fibre Channel WWN and port_id from device */ > +#define SCSI_IOCTL_FC_TARGET_ADDRESS 0x5389 > + These are compaq made up ioctls. They shouldnt be merged like that. Instead there needs to be proper discussion about what is actualyl needed ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 - necessary patches 2001-09-24 0:04 ` Alan Cox @ 2001-09-24 14:42 ` Oliver Xymoron 0 siblings, 0 replies; 44+ messages in thread From: Oliver Xymoron @ 2001-09-24 14:42 UTC (permalink / raw) To: Alan Cox; +Cc: Eyal Lebedinsky, Linus Torvalds, Kernel Mailing List On Mon, 24 Sep 2001, Alan Cox wrote: > > --- linux-2.4.10-pre7/include/scsi/scsi.h Fri Apr 27 13:59:19 2001 > > +++ linux/include/scsi/scsi.h Mon Sep 10 03:53:58 2001 > > @@ -214,6 +214,12 @@ > > /* Used to get the PCI location of a device */ > > #define SCSI_IOCTL_GET_PCI 0x5387 > > > > +/* Used to invoke Target Defice Reset for Fibre Channel */ > > +#define SCSI_IOCTL_FC_TDR 0x5388 > > + > > +/* Used to get Fibre Channel WWN and port_id from device */ > > +#define SCSI_IOCTL_FC_TARGET_ADDRESS 0x5389 > > + > > These are compaq made up ioctls. They shouldnt be merged like that. Instead > there needs to be proper discussion about what is actualyl needed And please, not ioctl(). iSCSI (SCSI-over-IP) is going to require similar per-device information (this info isn't FC-specific), but probably a lot more. Adding a dozen ioctls is bad. At least one of the current iSCSI drivers puts this info in /proc/scsi/iscsi. -- "Love the dolphins," she advised him. "Write by W.A.S.T.E.." ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds ` (4 preceding siblings ...) 2001-09-23 22:40 ` Linux-2.4.10 - necessary patches Eyal Lebedinsky @ 2001-09-24 1:25 ` Matthias Andree 2001-09-24 2:26 ` Linux-2.4.10 Daniel T. Chen 2001-09-24 2:57 ` Linux-2.4.10 Disconnect 2001-09-24 2:35 ` Linux-2.4.10 Naren Devaiah ` (2 subsequent siblings) 8 siblings, 2 replies; 44+ messages in thread From: Matthias Andree @ 2001-09-24 1:25 UTC (permalink / raw) To: Kernel Mailing List On Sun, 23 Sep 2001, Linus Torvalds wrote: > Ok, I released a real 2.4.10, let the fun begin.. ... > Give it hell, Well, if I run XFree86 4.1.0 (SuSE Linux 7.0 here, Diamond Viper V550 (nVidia Riva TNT)) and switch to virtual text-mode tty (Ctrl Alt F1), hell freezes over. Screen turns black (but monitor syncs), machine is totally frozen. No Magic SysRq can help. Just Reset can. I use ext3fs on several partitions. 2.4.9 is fine, 2.4.9-ac7, -ac10 and 2.4.10 are broken. Serial console on 2.4.9-ac10 didn't have output, didn't attach serial console to 2.4.10 yet. Since this is somewhat hopeless to debug, I'm trying to do a binary search to figure which 2.4.10-pre broke things, but it'll take a while. Don't expect results before Monday evening UT +0200. Are there any particular suspect changes I should try to back out? ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 1:25 ` Linux-2.4.10 Matthias Andree @ 2001-09-24 2:26 ` Daniel T. Chen 2001-09-24 3:19 ` Linux-2.4.10 Matthias Andree 2001-09-24 2:57 ` Linux-2.4.10 Disconnect 1 sibling, 1 reply; 44+ messages in thread From: Daniel T. Chen @ 2001-09-24 2:26 UTC (permalink / raw) To: Matthias Andree; +Cc: Kernel Mailing List 'nv' or 'nvidia' driver, and if the latter, which version? --- Dan Chen crimsun@email.unc.edu GPG key: www.cs.unc.edu/~chenda/pubkey.gpg.asc On Mon, 24 Sep 2001, Matthias Andree wrote: > Well, if I run XFree86 4.1.0 (SuSE Linux 7.0 here, Diamond Viper V550 > (nVidia Riva TNT)) and switch to virtual text-mode tty (Ctrl Alt F1), > hell freezes over. Screen turns black (but monitor syncs), machine is > totally frozen. No Magic SysRq can help. Just Reset can. I use ext3fs on > several partitions. 2.4.9 is fine, 2.4.9-ac7, -ac10 and 2.4.10 are > broken. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 2:26 ` Linux-2.4.10 Daniel T. Chen @ 2001-09-24 3:19 ` Matthias Andree 0 siblings, 0 replies; 44+ messages in thread From: Matthias Andree @ 2001-09-24 3:19 UTC (permalink / raw) To: Daniel T. Chen; +Cc: Matthias Andree, Kernel Mailing List On Sun, 23 Sep 2001, Daniel T. Chen wrote: [Lockups in 2.4.10, but not 2.4.9] > 'nv' or 'nvidia' driver, and if the latter, which version? I have nv LoadModules log entries, similar to these: nv module version 1.0.0 compiled for xfree86 4.1.0 ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 1:25 ` Linux-2.4.10 Matthias Andree 2001-09-24 2:26 ` Linux-2.4.10 Daniel T. Chen @ 2001-09-24 2:57 ` Disconnect 2001-09-24 10:07 ` Linux-2.4.10 Matthias Andree 2001-09-27 12:17 ` Linux-2.4.10 Roeland Th. Jansen 1 sibling, 2 replies; 44+ messages in thread From: Disconnect @ 2001-09-24 2:57 UTC (permalink / raw) To: Kernel Mailing List On Mon, 24 Sep 2001, Matthias Andree did have cause to say: > Well, if I run XFree86 4.1.0 (SuSE Linux 7.0 here, Diamond Viper V550 > (nVidia Riva TNT)) and switch to virtual text-mode tty (Ctrl Alt F1), > hell freezes over. Screen turns black (but monitor syncs), machine is > totally frozen. No Magic SysRq can help. Just Reset can. I use ext3fs on > several partitions. 2.4.9 is fine, 2.4.9-ac7, -ac10 and 2.4.10 are > broken. Ditto here, at least as far back as 2.4.8-ac2 (nvidia driver blew up on ac7 so I haven't tried anything more recent). Tried to log out to reboot to 2.4.10+k7fix and logging out (X restarted) triggered it. (I have -got- to get to journalled root fs one of these days.) So you might look at 2.4.8 and 2.4.8-ac2, see whats changed. No ext3 here, just ext2 and reiser+lvm. (On a possibly unrelated note, 2.4.10 + k7fix works like a champ on the iwill kk266 I've got, which was showing the athlon oops-on-boot bug.) --- -----BEGIN GEEK CODE BLOCK----- Version: 3.1 [www.ebb.org/ungeek] GIT/CC/CM/AT d--(-)@ s+:-- a-->? C++++$ ULBS*++++$ P- L+++>+++++ E--- W+++ N+@ o+>$ K? w--->+++++ O- M V-- PS+() PE Y+@ PGP++() t 5--- X-- R tv+@ b++++>$ DI++++ D++(+++) G++ e* h(-)* r++ y++ ------END GEEK CODE BLOCK------ ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 2:57 ` Linux-2.4.10 Disconnect @ 2001-09-24 10:07 ` Matthias Andree 2001-09-27 12:17 ` Linux-2.4.10 Roeland Th. Jansen 1 sibling, 0 replies; 44+ messages in thread From: Matthias Andree @ 2001-09-24 10:07 UTC (permalink / raw) To: Kernel Mailing List On Sun, 23 Sep 2001, Disconnect wrote: [instant deep freeze on switch from X11 to text console, non-framebuffer] > Ditto here, at least as far back as 2.4.8-ac2 (nvidia driver blew up on > ac7 so I haven't tried anything more recent). Ok, I figure 2.4.10-pre12 was still fine, it must've been any recent change. > Tried to log out to reboot to 2.4.10+k7fix and logging out (X restarted) > triggered it. (I have -got- to get to journalled root fs one of these > days.) Yes, that's indeed useful to not have a turnaround time of hours and beyond :^) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-24 2:57 ` Linux-2.4.10 Disconnect 2001-09-24 10:07 ` Linux-2.4.10 Matthias Andree @ 2001-09-27 12:17 ` Roeland Th. Jansen 1 sibling, 0 replies; 44+ messages in thread From: Roeland Th. Jansen @ 2001-09-27 12:17 UTC (permalink / raw) To: Disconnect; +Cc: Kernel Mailing List On Sun, Sep 23, 2001 at 10:57:57PM -0400, Disconnect wrote: > > several partitions. 2.4.9 is fine, 2.4.9-ac7, -ac10 and 2.4.10 are > > broken. > > Ditto here, at least as far back as 2.4.8-ac2 (nvidia driver blew up on > ac7 so I haven't tried anything more recent). > > Tried to log out to reboot to 2.4.10+k7fix and logging out (X restarted) > triggered it. (I have -got- to get to journalled root fs one of these > days.) I have reported this many months ago. sometimes, it keeps working for days, weeks. sometimes, the hell just reaks loose after a short time. when this happens, I can access via TCP but the timers seem to be slow, like one secoint time tick happening in several minutes. this makes the system _slow_ and looks like a crash. -- Grobbebol's Home | Don't give in to spammers. -o) http://www.xs4all.nl/~bengel | Use your real e-mail address /\ Linux 2.2.16 SMP 2x466MHz / 256 MB | on Usenet. _\_v ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds ` (5 preceding siblings ...) 2001-09-24 1:25 ` Linux-2.4.10 Matthias Andree @ 2001-09-24 2:35 ` Naren Devaiah 2001-09-24 9:37 ` PATCH[2.4.9-pre14] Kill *writeonly* variable Martin Dalecki 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica 8 siblings, 0 replies; 44+ messages in thread From: Naren Devaiah @ 2001-09-24 2:35 UTC (permalink / raw) To: Kernel Mailing List Hi, After configuring with 'make menuconfig' doing 'make bzImage' results in a 16K compressed kernel image. atlantis:/usr/src/linux-2.4.10> ls -l arch/i386/boot/bzImage -rw-r--r-- 1 root root 18764 Sep 23 18:30 arch/i386/boot/bzImage But the vmlinux file is about 2.2Mb atlantis:/usr/src/linux-2.4.10> ls -l vmlinux -rwxr-xr-x 1 root root 2279307 Sep 23 18:30 vmlinux* Anybody know why? This is on a Slackware 8.0 machine. The linux tarball was from kernel.org. TIA -Naren On Sunday 23 September 2001 11:54 am, Linus Torvalds wrote: > Ok, I released a real 2.4.10, let the fun begin.. > > This is an uncomfortably large changeset, largely because I was away in > Finland twice during the 2.4.9->2.4.10 development, and partly of course > because I've tried to aggressively sync up especially with Alan. > > In addition to the VM changes that have gotten so much attention there are > architecture updates, various major filesystem updates (jffs2 and NTFS), > ACPI updates, and tons of driver merges. And, of course, the min()/max() > changes. > > Give it hell, > > Linus > > ----- > final: > - Andrew Grover: ACPI update > - Al Viro: block devices.. > - Andrea Arcangeli: fix list manipulation bogosity > - Trond Myklebust: 64-bit file locking fixes > - Brad Hards: USB CDC ethernet > - Chris Mason: reiserfs speedup > - Robert Love: re-merge AMD 761 GART support that was lost in -ac merge > - Adam Richter: check pci_module_init() return value > > pre15: > - Jan Harkes: make Coda work with arbitrary host filesystems, not > just filesystems that use generic_file_read/write > - Al Viro: block device cleanups > - Hugh Dickins: swap device lock fixes - fix swap readahead race > - me, Andrea: more reference bit cleanups > > pre14: > - Richard Gooch: devfs update > - Andrea Arcangeli: clean up/fix ramdisk handling now that it's in page > cache - Al Viro: follow up the above with initrd cleanups > - Keith Owens: get rid of drivers/scsi/53c700-mem.c file > - Trond Myklebust: RPC over TCP race fix > - Greg KH: USB update (ohci understands USB_ZERO_PACKET) > - me: clean up reference bit handling, fix silly GFP_ATOMIC allocation bug > > pre13: > - Manfred Spraul: /proc/pid/maps cleanup (and bugfix for non-x86) > - Al Viro: "block device fs" - cleanup of page cache handling > - Hugh Dickins: VM/shmem cleanups and swap search speedup > - David Miller: sparc updates, soc driver typo fix, net updates > - Jeff Garzik: network driver updates (dl2k, yellowfin and tulip) > - Neil Brown: knfsd cleanups and fixues > - Ben LaHaise: zap_page_range merge from -ac > > pre12: > - Alan Cox: much more merging > - Pete Zaitcev: ymfpci race fixes > - Andrea Arkangeli: VM race fix and OOM tweak. > - Arjan Van de Ven: merge RH kernel fixes > - Andi Kleen: use more readable 'likely()/unlikely()' instead of > __builtin_expect() - Keith Owens: fix 64-bit ELF types > - Gerd Knorr: mark more broken PCI bridges, update btaudio driver > - Paul Mackerras: powermac driver update > - me: clean up PTRACE_DETACH to use common infrastructure > > pre11: > - Neil Brown: md cleanups/fixes > - Andrew Morton: console locking merge > - Andrea Arkangeli: major VM merge > > pre10: > - Alan Cox: continued merging > - Mingming Cao: make msgrcv/shmat check the queue/segment ID's properly > - Greg KH: USB serial init failure fix, Xircom serial converter driver > - Neil Brown: nsfd/raid/md/lockd cleanups > - Ingo Molnar: multipath RAID personality, raid xor update > - Hugh Dickins/Marcelo Tosatti: swapin read-ahead race fix > - Vojtech Pavlik: fix up some of the infrastructure for x86-64 > - Robert Love: AMD 761 AGP GART support > - Jens Axboe: fix SCSI-generic queue handling race > - me: be sane about page reference bits > > pre9: > - Greg KH: start migration to new "min()/max()" > - Roman Zippel: move affs over to "min()/max()". > - Vojtech Pavlik: VIA update (make sure not to IRQ-unmask a vt82c576) > - Jan Kara: quota bug-fix (don't decrement quota for non-counted inode) > - Anton Altaparmakov: more NTFS updates > - Al Viro: make nosuid/noexec/nodev be per-mount flags, not per-filesystem > - Alan Cox: merge input/joystick layer differences, driver and alpha merge > - Keith Owens: scsi Makefile cleanup > - Trond Myklebust: fix oopsable race in locking code > - Jean Tourrilhes: IrDA update > > pre8: > - Christoph Hellwig: clean up personality handling a bit > - Robert Love: update sysctl/vm documentation > - make the three-argument (that everybody hates) "min()" be "min_t()", > and introduce a type-anal "min()" that complains about arguments of > different types. > > pre7: > - Alan Cox: big driver/mips sync > - Andries Brouwer, Christoph Hellwig: more gendisk fixups > - Tobias Ringstrom: tulip driver workaround for DC21143 erratum > > pre6: > - Jens Axboe: remove trivially dead io_request_lock usage > - Andrea Arcangeli: softirq cleanup and ARM fixes. Slab cleanups > - Christoph Hellwig: gendisk handling helper functions/cleanups > - Nikita Danilov: reiserfs dead code pruning > - Anton Altaparmakov: NTFS update to 1.1.18 > - firestream network driver: patch reverted on authors request > - NIIBE Yutaka: SH architecture update > - Paul Mackerras: PPC cleanups, PPC8xx update. > - me: reverse broken bootdata allocation patch that went into pre5 > > pre5: > - Merge with Alan > - Trond Myklebust: NFS fixes - kmap and root inode special case > - Al Viro: more superblock cleanups, inode leak in rd.c, minix > directories in page cache > - Paul Mackerras: clean up rubbish from sl82c105.c > - Neil Brown: md/raid cleanups, NFS filehandles > - Johannes Erdfelt: USB update (usb-2.0 support, visor fix, Clie fix, > pl2303 driver update) > - David Miller: sparc and net update > - Eric Biederman: simplify and correct bootdata allocation - don't > overwrite ramdisks > - Tim Waugh: support multiple SuperIO devices, parport doc updates > > pre4: > - Hugh Dickins: swapoff cleanups and speedups > - Matthew Dharm: USB storage update > - Keith Owens: Makefile fixes > - Tom Rini: MPC8xx build fix > - Nikita Danilov: reiserfs update > - Jakub Jelinek: ELF loader fix for ET_DYN > - Andrew Morton: reparent_to_init() for kernel threads > - Christoph Hellwig: VxFS and SysV updates, vfs_permission fix > > pre3: > - Johannes Erdfelt, Oliver Neukum: USB printer driver race fix > - John Byrne: fix stupid i386-SMP irq stack layout bug > - Andreas Bombe, me: yenta IO window fix > - Neil Brown: raid1 buffer state fix > - David Miller, Paul Mackerras: fix up sparc and ppc respectively for > kmap/kbd_rate - Matija Nalis: umsdos fixes, and make it possible to boot up > with umsdos - Francois Romieu: fix bugs in dscc4 driver > - Andy Grover: new PCI config space access functions (eventually for ACPI) > - Albert Cranford: fix incorrect e2fsprog data from ver_linux script > - Dave Jones: re-sync x86 setup code, fix macsonic kmalloc use > - Johannes Erdfelt: remove obsolete plusb USB driver > - Andries Brouwer: fix USB compact flash version info, add blksize ioctls > > pre2: > - Al Viro: block device cleanups > - Marcelo Tosatti: make bounce buffer allocations more robust (it's ok > for them to do IO, just not cause recursive bounce IO. So allow them) > - Anton Altaparmakov: NTFS update (1.1.17) > - Paul Mackerras: PPC update (big re-org) > - Petko Manolov: USB pegasus driver fixes > - David Miller: networking and sparc updates > - Trond Myklebust: Export atomic_dec_and_lock > - OGAWA Hirofumi: find and fix umsdos "filldir" users that were broken > by the 64-bit-cleanups. Fix msdos warnings. > - Al Viro: superblock handling cleanups and race fixes > - Johannes Erdfelt++: USB updates > > pre1: > - Jeff Hartmann: DRM AGP/alpha cleanups > - Ben LaHaise: highmem user pagecopy/clear optimization > - Vojtech Pavlik: VIA IDE driver update > - Herbert Xu: make cramfs work with HIGHMEM pages > - David Fennell: awe32 ram size detection improvement > - Istvan Varadi: umsdos EMD filename bug fix > - Keith Owens: make min/max work for pointers too > - Jan Kara: quota initialization fix > - Brad Hards: Kaweth USB driver update (enable, and fix endianness) > - Ralf Baechle: MIPS updates > - David Gibson: airport driver update > - Rogier Wolff: firestream ATM driver multi-phy support > - Daniel Phillips: swap read page referenced set - avoid swap thrashing > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 44+ messages in thread
* PATCH[2.4.9-pre14] Kill *writeonly* variable. 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds ` (6 preceding siblings ...) 2001-09-24 2:35 ` Linux-2.4.10 Naren Devaiah @ 2001-09-24 9:37 ` Martin Dalecki 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica 8 siblings, 0 replies; 44+ messages in thread From: Martin Dalecki @ 2001-09-24 9:37 UTC (permalink / raw) To: Linus Torvalds; +Cc: Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 2357 bytes --] HellO! Inside the kernel we have an array called read_ahead[MAJOR(dev)] - a true offended to human mind ;-). Let us have a look on it in the 2.4.10-pre14 kernel. This array was supposed as a way for a block device to specify the most desirable size of chunks to read in in advance during block operations. However let's have a look at the places (other then initializations) where the values it holds *actually* are used. Inside fs/hfs/file.c: hfs_do_read(..... int reada) 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; } } Here the desired value already is provided by the reada parameter. We don't need to read it at all there, we should use the reada value directly instead. So the only places where read_ahead is used are only the following ioctrl handler implementations: The generic one: ./drivers/block/blkpg.c: case BLKRAGET: if (!arg) return -EINVAL; return put_user(read_ahead[MAJOR(dev)], (long *) arg); And two specific ones: ./drivers/s390/block/xpram.c: 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; ./drivers/md/lvm.c: case BLKRAGET: /* get current read ahead setting */ P_IOCTL("%s -- lvm_blk_ioctl -- BLKRAGET\n", lvm_name); if (put_user(lv_ptr->lv_read_ahead, (long *)arg)) return -EFAULT; break; Therefore we can see that the read_ahead array is de facto only maybe used as a BOGOUS advice value for the user space. At all other places it get's only used as a "write only" variable. We could therefore kill the WHOLE ARRAY and all the initialization code for it inside block device drivers where it get's set! We would just have to replace it inside the ioctl handlers by a constant or a more appriopriate value and fix the bug in hfs! In fact the tests for the attached patch show that even ORACLE 9.0.1 doesn't bother with it, so I have just removed it. So we thankfully to the wonderfull work by Andera and Alexander we can now get rid of this crappy read_ahead array. Marvelous isn't it?! [-- Attachment #2: kill-read_ahead.patch --] [-- Type: text/plain, Size: 24186 bytes --] diff -urN linux/drivers/acorn/block/mfmhd.c linux-new/drivers/acorn/block/mfmhd.c --- linux/drivers/acorn/block/mfmhd.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/acorn/block/mfmhd.c Sun Sep 23 14:56:44 2001 @@ -1448,7 +1448,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/drivers/block/DAC960.c linux-new/drivers/block/DAC960.c --- linux/drivers/block/DAC960.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/DAC960.c Sun Sep 23 14:17:07 2001 @@ -1921,10 +1921,6 @@ blksize_size[MajorNumber] = Controller->BlockSizes; max_sectors[MajorNumber] = Controller->MaxSectorsPerRequest; /* - Initialize Read Ahead to 128 sectors. - */ - read_ahead[MajorNumber] = 128; - /* Complete initialization of the Generic Disk Information structure. */ Controller->GenericDiskInfo.major = MajorNumber; diff -urN linux/drivers/block/acsi.c linux-new/drivers/block/acsi.c --- linux/drivers/block/acsi.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/acsi.c Sun Sep 23 14:55:30 2001 @@ -1793,7 +1793,6 @@ STramMask = ATARIHW_PRESENT(EXTD_DMA) ? 0x00000000 : 0xff000000; blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read-ahead */ add_gendisk(&acsi_gendisk); #ifdef CONFIG_ATARI_SLM diff -urN linux/drivers/block/blkpg.c linux-new/drivers/block/blkpg.c --- linux/drivers/block/blkpg.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/blkpg.c Sun Sep 23 13:47:28 2001 @@ -209,18 +209,6 @@ intval = (is_read_only(dev) != 0); return put_user(intval, (int *)(arg)); - case BLKRASET: - if(!capable(CAP_SYS_ADMIN)) - return -EACCES; - if(!dev || 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 BLKFLSBUF: if(!capable(CAP_SYS_ADMIN)) return -EACCES; diff -urN linux/drivers/block/cciss.c linux-new/drivers/block/cciss.c --- linux/drivers/block/cciss.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/cciss.c Sun Sep 23 14:16:11 2001 @@ -1952,7 +1952,6 @@ /* fill in the other Kernel structs */ blksize_size[MAJOR_NR+i] = hba[i]->blocksizes; hardsect_size[MAJOR_NR+i] = hba[i]->hardsizes; - read_ahead[MAJOR_NR+i] = READ_AHEAD; /* Set the pointers to queue functions */ q->back_merge_fn = cpq_back_merge_fn; diff -urN linux/drivers/block/cpqarray.c linux-new/drivers/block/cpqarray.c --- linux/drivers/block/cpqarray.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/cpqarray.c Sun Sep 23 14:15:50 2001 @@ -526,7 +526,6 @@ blk_queue_headactive(q, 0); blksize_size[MAJOR_NR+i] = ida_blocksizes + (i*256); hardsect_size[MAJOR_NR+i] = ida_hardsizes + (i*256); - read_ahead[MAJOR_NR+i] = READ_AHEAD; q->back_merge_fn = cpq_back_merge_fn; q->front_merge_fn = cpq_front_merge_fn; diff -urN linux/drivers/block/ll_rw_blk.c linux-new/drivers/block/ll_rw_blk.c --- linux/drivers/block/ll_rw_blk.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/ll_rw_blk.c Sun Sep 23 14:29:41 2001 @@ -64,10 +64,6 @@ */ spinlock_t io_request_lock = SPIN_LOCK_UNLOCKED; -/* This specifies how many sectors to read ahead on the disk. */ - -int read_ahead[MAX_BLKDEV]; - /* blk_dev_struct is: * *request_fn * *current_request diff -urN linux/drivers/block/paride/pcd.c linux-new/drivers/block/paride/pcd.c --- linux/drivers/block/paride/pcd.c Sun Feb 4 19:05:29 2001 +++ linux-new/drivers/block/paride/pcd.c Sun Sep 23 14:42:24 2001 @@ -344,7 +344,6 @@ if (PCD.present) register_cdrom(&PCD.info); blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - 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/drivers/block/paride/pd.c linux-new/drivers/block/paride/pd.c --- linux/drivers/block/paride/pd.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/paride/pd.c Sun Sep 23 14:41:58 2001 @@ -396,8 +396,7 @@ } q = BLK_DEFAULT_QUEUE(MAJOR_NR); blk_init_queue(q, DEVICE_REQUEST); - read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */ - + pd_gendisk.major = major; pd_gendisk.major_name = name; add_gendisk(&pd_gendisk); diff -urN linux/drivers/block/paride/pf.c linux-new/drivers/block/paride/pf.c --- linux/drivers/block/paride/pf.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/paride/pf.c Sun Sep 23 14:42:52 2001 @@ -411,8 +411,7 @@ q->back_merge_fn = pf_back_merge_fn; q->front_merge_fn = pf_front_merge_fn; q->merge_requests_fn = pf_merge_requests_fn; - 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; for (i=0;i<PF_UNITS;i++) diff -urN linux/drivers/block/ps2esdi.c linux-new/drivers/block/ps2esdi.c --- linux/drivers/block/ps2esdi.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/ps2esdi.c Sun Sep 23 14:54:27 2001 @@ -179,7 +179,6 @@ } /* set up some global information - indicating device specific info */ blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */ /* some minor housekeeping - setup the global gendisk structure */ add_gendisk(&ps2esdi_gendisk); diff -urN linux/drivers/block/xd.c linux-new/drivers/block/xd.c --- linux/drivers/block/xd.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/block/xd.c Sun Sep 23 14:15:22 2001 @@ -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); - read_ahead[MAJOR_NR] = 8; /* 8 sector (4kB) read ahead */ add_gendisk(&xd_gendisk); xd_geninit(); @@ -1116,7 +1115,6 @@ blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR)); blk_size[MAJOR_NR] = NULL; hardsect_size[MAJOR_NR] = NULL; - read_ahead[MAJOR_NR] = 0; del_gendisk(&xd_gendisk); release_region(xd_iobase,4); } diff -urN linux/drivers/cdrom/aztcd.c linux-new/drivers/cdrom/aztcd.c --- linux/drivers/cdrom/aztcd.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/cdrom/aztcd.c Sun Sep 23 14:33:30 2001 @@ -1932,7 +1932,6 @@ } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); blksize_size[MAJOR_NR] = aztcd_blocksizes; - read_ahead[MAJOR_NR] = 4; register_disk(NULL, MKDEV(MAJOR_NR, 0), 1, &azt_fops, 0); if ((azt_port == 0x1f0) || (azt_port == 0x170)) diff -urN linux/drivers/cdrom/cdu31a.c linux-new/drivers/cdrom/cdu31a.c --- linux/drivers/cdrom/cdu31a.c Sun Sep 23 15:09:23 2001 +++ linux-new/drivers/cdrom/cdu31a.c Sun Sep 23 14:34:22 2001 @@ -3450,7 +3450,6 @@ blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - 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/drivers/cdrom/cm206.c linux-new/drivers/cdrom/cm206.c --- linux/drivers/cdrom/cm206.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/cm206.c Sun Sep 23 14:34:55 2001 @@ -1493,7 +1493,6 @@ } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); 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/drivers/cdrom/gscd.c linux-new/drivers/cdrom/gscd.c --- linux/drivers/cdrom/gscd.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/gscd.c Sun Sep 23 14:35:22 2001 @@ -1024,7 +1024,6 @@ blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); blksize_size[MAJOR_NR] = gscd_blocksizes; - read_ahead[MAJOR_NR] = 4; disk_state = 0; gscdPresent = 1; diff -urN linux/drivers/cdrom/mcd.c linux-new/drivers/cdrom/mcd.c --- linux/drivers/cdrom/mcd.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/mcd.c Sun Sep 23 14:35:51 2001 @@ -1072,7 +1072,6 @@ blksize_size[MAJOR_NR] = mcd_blocksizes; blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - read_ahead[MAJOR_NR] = 4; /* check for card */ diff -urN linux/drivers/cdrom/mcdx.c linux-new/drivers/cdrom/mcdx.c --- linux/drivers/cdrom/mcdx.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/mcdx.c Sun Sep 23 14:36:14 2001 @@ -1188,7 +1188,6 @@ } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - read_ahead[MAJOR_NR] = READ_AHEAD; blksize_size[MAJOR_NR] = mcdx_blocksizes; xtrace(INIT, "init() subscribe irq and i/o\n"); diff -urN linux/drivers/cdrom/optcd.c linux-new/drivers/cdrom/optcd.c --- linux/drivers/cdrom/optcd.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/optcd.c Sun Sep 23 14:36:48 2001 @@ -2069,7 +2069,6 @@ hardsect_size[MAJOR_NR] = &hsecsize; blksize_size[MAJOR_NR] = &blksize; blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - read_ahead[MAJOR_NR] = 4; request_region(optcd_port, 4, "optcd"); register_disk(NULL, MKDEV(MAJOR_NR,0), 1, &opt_fops, 0); diff -urN linux/drivers/cdrom/sbpcd.c linux-new/drivers/cdrom/sbpcd.c --- linux/drivers/cdrom/sbpcd.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/sbpcd.c Sun Sep 23 14:38:23 2001 @@ -4535,7 +4535,6 @@ if(!capable(CAP_SYS_ADMIN)) RETURN_UP(-EACCES); if(!(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); @@ -5864,10 +5863,9 @@ (BLK_DEFAULT_QUEUE(MAJOR_NR))->merge_requests_fn = dont_merge_requests_fn; #endif blk_queue_headactive(BLK_DEFAULT_QUEUE(MAJOR_NR), 0); - read_ahead[MAJOR_NR] = buffers * (CD_FRAMESIZE / 512); - + request_region(CDo_command,4,major_name); - + devfs_handle = devfs_mk_dir (NULL, "sbp", NULL); for (j=0;j<NR_SBPCD;j++) { diff -urN linux/drivers/cdrom/sjcd.c linux-new/drivers/cdrom/sjcd.c --- linux/drivers/cdrom/sjcd.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/sjcd.c Sun Sep 23 14:39:03 2001 @@ -1707,7 +1707,6 @@ } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - read_ahead[MAJOR_NR] = 4; register_disk(NULL, MKDEV(MAJOR_NR, 0), 1, &sjcd_fops, 0); if (check_region(sjcd_base, 4)) { diff -urN linux/drivers/cdrom/sonycd535.c linux-new/drivers/cdrom/sonycd535.c --- linux/drivers/cdrom/sonycd535.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/cdrom/sonycd535.c Sun Sep 23 14:39:29 2001 @@ -1599,7 +1599,6 @@ } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); 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/drivers/ide/hd.c linux-new/drivers/ide/hd.c --- linux/drivers/ide/hd.c Sun Sep 23 15:09:24 2001 +++ linux-new/drivers/ide/hd.c Sun Sep 23 14:30:38 2001 @@ -840,7 +840,6 @@ return -1; } blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR), DEVICE_REQUEST); - 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/drivers/ide/ide-cd.c linux-new/drivers/ide/ide-cd.c --- linux/drivers/ide/ide-cd.c Thu Aug 16 18:30:45 2001 +++ linux-new/drivers/ide/ide-cd.c Sun Sep 23 14:01:08 2001 @@ -2709,7 +2709,6 @@ 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, "max_kb_per_request", SETTING_RW, BLKSECTGET, BLKSECTSET, TYPE_INTA, 1, 255, 1, 2, &max_sectors[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/drivers/ide/ide-disk.c linux-new/drivers/ide/ide-disk.c --- linux/drivers/ide/ide-disk.c Mon Aug 13 23:56:19 2001 +++ linux-new/drivers/ide/ide-disk.c Sun Sep 23 13:53:29 2001 @@ -689,7 +689,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, 2, &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, 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, "max_kb_per_request", SETTING_RW, BLKSECTGET, BLKSECTSET, TYPE_INTA, 1, 255, 1, 2, &max_sectors[major][minor], NULL); ide_add_setting(drive, "lun", SETTING_RW, -1, -1, TYPE_INT, 0, 7, 1, 1, &drive->lun, NULL); diff -urN linux/drivers/ide/ide-floppy.c linux-new/drivers/ide/ide-floppy.c --- linux/drivers/ide/ide-floppy.c Sun Sep 23 15:09:25 2001 +++ linux-new/drivers/ide/ide-floppy.c Sun Sep 23 14:17:57 2001 @@ -1918,7 +1918,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); ide_add_setting(drive, "max_kb_per_request", SETTING_RW, BLKSECTGET, BLKSECTSET, TYPE_INTA, 1, 255, 1, 2, &max_sectors[major][minor], NULL); diff -urN linux/drivers/ide/ide-probe.c linux-new/drivers/ide/ide-probe.c --- linux/drivers/ide/ide-probe.c Sun Sep 23 15:09:25 2001 +++ linux-new/drivers/ide/ide-probe.c Sun Sep 23 13:52:12 2001 @@ -867,7 +867,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 */ #if (DEBUG_SPINLOCK > 0) diff -urN linux/drivers/md/lvm.c linux-new/drivers/md/lvm.c --- linux/drivers/md/lvm.c Sun Sep 23 15:09:25 2001 +++ linux-new/drivers/md/lvm.c Sun Sep 23 14:28:55 2001 @@ -197,14 +197,6 @@ #include "lvm-snap.h" -#define LVM_CORRECT_READ_AHEAD(a) \ -do { \ - if ((a) < LVM_MIN_READ_AHEAD || \ - (a) > LVM_MAX_READ_AHEAD) \ - (a) = LVM_DEFAULT_READ_AHEAD; \ - read_ahead[MAJOR_NR] = (a); \ -} while(0) - #ifndef WRITEA # define WRITEA WRITE #endif @@ -897,30 +889,6 @@ invalidate_buffers(inode->i_rdev); break; - - case BLKRASET: - /* set read ahead for block device */ - if (!capable(CAP_SYS_ADMIN)) return -EACCES; - - P_IOCTL("%s -- lvm_blk_ioctl -- BLKRASET: %d sectors for %02X:%02X\n", - lvm_name, (long) arg, MAJOR(inode->i_rdev), minor); - - if ((long) arg < LVM_MIN_READ_AHEAD || - (long) arg > LVM_MAX_READ_AHEAD) - return -EINVAL; - lv_ptr->lv_read_ahead = (long) arg; - read_ahead[MAJOR_NR] = lv_ptr->lv_read_ahead; - break; - - - case BLKRAGET: - /* get current read ahead setting */ - P_IOCTL("%s -- lvm_blk_ioctl -- BLKRAGET\n", lvm_name); - 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); @@ -2277,7 +2245,6 @@ lvm_size[MINOR(lv_ptr->lv_dev)] = lv_ptr->lv_size >> 1; vg_lv_map[MINOR(lv_ptr->lv_dev)].vg_number = vg_ptr->vg_number; vg_lv_map[MINOR(lv_ptr->lv_dev)].lv_number = lv_ptr->lv_number; - LVM_CORRECT_READ_AHEAD(lv_ptr->lv_read_ahead); vg_ptr->lv_cur++; lv_ptr->lv_status = lv_status_save; @@ -2582,8 +2549,6 @@ lvm_gendisk.part[MINOR(lv_ptr->lv_dev)].nr_sects = lv_ptr->lv_size; lvm_size[MINOR(lv_ptr->lv_dev)] = lv_ptr->lv_size >> 1; /* vg_lv_map array doesn't have to be changed here */ - - LVM_CORRECT_READ_AHEAD(lv_ptr->lv_read_ahead); /* save availiable i/o statistic data */ /* linear logical volume */ diff -urN linux/drivers/md/md.c linux-new/drivers/md/md.c --- linux/drivers/md/md.c Sun Sep 23 15:09:25 2001 +++ linux-new/drivers/md/md.c Sun Sep 23 14:20:10 2001 @@ -1727,7 +1727,6 @@ register_disk(&md_gendisk, MKDEV(MAJOR_NR,mdidx(mddev)), 1, &md_fops, md_size[mdidx(mddev)]<<1); - read_ahead[MD_MAJOR] = 1024; return (0); } @@ -3149,13 +3148,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"); @@ -3637,9 +3629,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/drivers/s390/block/xpram.c linux-new/drivers/s390/block/xpram.c --- linux/drivers/s390/block/xpram.c Sun Sep 23 15:09:27 2001 +++ linux-new/drivers/s390/block/xpram.c Sun Sep 23 14:57:38 2001 @@ -661,22 +661,6 @@ 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; @@ -1044,7 +1028,6 @@ blk_init_queue (q, xpram_request); blk_queue_headactive (BLK_DEFAULT_QUEUE (major), 0); #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)); @@ -1183,7 +1166,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 */ @@ -1223,7 +1205,6 @@ #if (XPRAM_VERSION == 22) blk_dev[major].request_fn = NULL; #endif /* V22 */ - read_ahead[major] = 0; blk_size[major] = NULL; kfree(blksize_size[major]); blksize_size[major] = NULL; diff -urN linux/drivers/s390/char/tapeblock.c linux-new/drivers/s390/char/tapeblock.c --- linux/drivers/s390/char/tapeblock.c Wed Jul 25 23:12:02 2001 +++ linux-new/drivers/s390/char/tapeblock.c Sun Sep 23 14:59:12 2001 @@ -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/drivers/scsi/sd.c linux-new/drivers/scsi/sd.c --- linux/drivers/scsi/sd.c Sun Sep 23 15:09:28 2001 +++ linux-new/drivers/scsi/sd.c Sun Sep 23 14:26:00 2001 @@ -1212,18 +1212,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; } @@ -1400,7 +1388,6 @@ del_gendisk(&sd_gendisks[i]); blk_size[SD_MAJOR(i)] = NULL; hardsect_size[SD_MAJOR(i)] = NULL; - read_ahead[SD_MAJOR(i)] = 0; } sd_template.dev_max = 0; if (sd_gendisks != &sd_gendisk) diff -urN linux/drivers/scsi/sr.c linux-new/drivers/scsi/sr.c --- linux/drivers/scsi/sr.c Sun Sep 23 15:09:28 2001 +++ linux-new/drivers/scsi/sr.c Sun Sep 23 14:26:47 2001 @@ -867,15 +867,6 @@ 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 */ - return; } @@ -933,7 +924,6 @@ blksize_size[MAJOR_NR] = NULL; hardsect_size[MAJOR_NR] = NULL; blk_size[MAJOR_NR] = NULL; - read_ahead[MAJOR_NR] = 0; sr_template.dev_max = 0; } diff -urN linux/fs/hfs/file.c linux-new/fs/hfs/file.c --- linux/fs/hfs/file.c Sun Aug 12 19:56:56 2001 +++ linux-new/fs/hfs/file.c Sun Sep 23 14:47:22 2001 @@ -312,14 +312,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/include/linux/fs.h linux-new/include/linux/fs.h --- linux/include/linux/fs.h Sun Sep 23 15:09:35 2001 +++ linux-new/include/linux/fs.h Sun Sep 23 13:33:48 2001 @@ -1418,7 +1418,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/include/linux/lvm.h linux-new/include/linux/lvm.h --- linux/include/linux/lvm.h Sun Sep 23 15:09:35 2001 +++ linux-new/include/linux/lvm.h Sun Sep 23 14:04:02 2001 @@ -608,7 +608,6 @@ uint lv_badblock; /* for future use */ uint lv_allocation; uint lv_io_timeout; /* for future use */ - uint lv_read_ahead; /* delta to version 1 starts here */ struct lv_v4 *lv_snapshot_org; @@ -658,7 +657,7 @@ uint32_t lv_badblock; /* for future use */ uint32_t lv_allocation; uint32_t lv_io_timeout; /* for future use */ - uint32_t lv_read_ahead; /* HM */ + uint32_t __unused; /* HM */ } lv_disk_v3_t; /* diff -urN linux/kernel/ksyms.c linux-new/kernel/ksyms.c --- linux/kernel/ksyms.c Sun Sep 23 15:09:36 2001 +++ linux-new/kernel/ksyms.c Sun Sep 23 13:35:14 2001 @@ -493,7 +493,6 @@ EXPORT_SYMBOL(nr_async_pages); EXPORT_SYMBOL(___strtok); EXPORT_SYMBOL(init_special_inode); -EXPORT_SYMBOL(read_ahead); EXPORT_SYMBOL(get_hash_table); EXPORT_SYMBOL(get_empty_inode); EXPORT_SYMBOL(insert_inode_hash); ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds ` (7 preceding siblings ...) 2001-09-24 9:37 ` PATCH[2.4.9-pre14] Kill *writeonly* variable Martin Dalecki @ 2001-09-27 15:23 ` George R. Kasica 2001-09-27 15:27 ` Linux-2.4.10 Rik van Riel ` (3 more replies) 8 siblings, 4 replies; 44+ messages in thread From: George R. Kasica @ 2001-09-27 15:23 UTC (permalink / raw) To: linux-kernel I'm currently running 2.4.5 here and I'm considering 2.4.10 but am somewhat more nervous about this release than others based on the number of reports of problems I'm seeing... What would be the advice of others in terms of moving up from 2.4.5 which has been rock solid here? Would you recommend doing the upgrade or waiting for 2.4.11 or is there a middle ground release (2.4.6,7,8,9) that you'd recommend. George ===[George R. Kasica]=== +1 262 677 0766 President +1 206 374 6482 FAX Netwrx Consulting Inc. Jackson, WI USA http://www.netwrx1.com georgek@netwrx1.com ICQ #12862186 ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica @ 2001-09-27 15:27 ` Rik van Riel 2001-09-27 15:31 ` Linux-2.4.10 Bernd Petrovitsch ` (2 subsequent siblings) 3 siblings, 0 replies; 44+ messages in thread From: Rik van Riel @ 2001-09-27 15:27 UTC (permalink / raw) To: George R.Kasica; +Cc: linux-kernel On Thu, 27 Sep 2001, George R.Kasica wrote: > What would be the advice of others in terms of moving up from 2.4.5 > which has been rock solid here? 2.4.9-ac14, possibly 2.4.9-ac16 if it's out before you are around to upgrading. cheers, Rik -- IA64: a worthy successor to i860. http://www.surriel.com/ http://distro.conectiva.com/ Send all your spam to aardvark@nl.linux.org (spam digging piggy) ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica 2001-09-27 15:27 ` Linux-2.4.10 Rik van Riel @ 2001-09-27 15:31 ` Bernd Petrovitsch 2001-09-27 15:49 ` Linux-2.4.10 John Jasen 2001-09-27 18:23 ` Linux-2.4.10 Petr Baudis 3 siblings, 0 replies; 44+ messages in thread From: Bernd Petrovitsch @ 2001-09-27 15:31 UTC (permalink / raw) To: linux-kernel [-- Attachment #1: Type: text/plain, Size: 1084 bytes --] In message <vsg6rto5cqtmj8dld5mc41mpvlbrf4s9vl@4ax.com>, "George R. Kasica" wro te: >I'm currently running 2.4.5 here and I'm considering 2.4.10 but am >somewhat more nervous about this release than others based on the >number of reports of problems I'm seeing... > >What would be the advice of others in terms of moving up from 2.4.5 >which has been rock solid here? > >Would you recommend doing the upgrade or waiting for 2.4.11 or is >there a middle ground release (2.4.6,7,8,9) that you'd recommend. I tried all from 2.4.5 up to 2.4.10 (and also some before) running on several machines : - an Athlon 900, an AMD K6 300 : no problems (being 2.4.10 subjectively slightly faster than before) - an Pentium 90 : 2.4.6-2.4.9 just didn't want to boot - no damage. IMHO : Just try it. Bernd -- Bernd Petrovitsch Email : bernd@gams.at g.a.m.s gmbh Fax : +43 1 205255-900 Prinz-Eugen-Straße 8 A-1040 Vienna/Austria/Europe LUGA : http://www.luga.at [-- Attachment #2: Type: application/pgp-signature, Size: 254 bytes --] ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica 2001-09-27 15:27 ` Linux-2.4.10 Rik van Riel 2001-09-27 15:31 ` Linux-2.4.10 Bernd Petrovitsch @ 2001-09-27 15:49 ` John Jasen 2001-09-27 18:23 ` Linux-2.4.10 Petr Baudis 3 siblings, 0 replies; 44+ messages in thread From: John Jasen @ 2001-09-27 15:49 UTC (permalink / raw) To: George R. Kasica; +Cc: linux-kernel On Thu, 27 Sep 2001, George R. Kasica wrote: > I'm currently running 2.4.5 here and I'm considering 2.4.10 but am > somewhat more nervous about this release than others based on the > number of reports of problems I'm seeing... > > What would be the advice of others in terms of moving up from 2.4.5 > which has been rock solid here? > > Would you recommend doing the upgrade or waiting for 2.4.11 or is > there a middle ground release (2.4.6,7,8,9) that you'd recommend. 2.4.4 was the last kernel to pass the first stage of internal validation where I work. (Okay, the first stage is me. :P). And the last to make it out to the developers. 2.4.5 was pulled because of lkml reports of panics when unmounting filesystems, and 2.4.7-9 all died or skrewed up on my test battery (a couple of dd's to /dev/null, ping -f localhost, make -j32 && make modules -j32 in /usr/src/linux) 2.4.10 just passed the first stage, and is entering the second stage of evaluation, of which I know not what they do to it. I'd say try it on a non-production system, beat on it for a while, and see what comes out ... -- -- John E. Jasen (jjasen1@umbc.edu) -- In theory, theory and practise are the same. In practise, they aren't. ^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: Linux-2.4.10 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica ` (2 preceding siblings ...) 2001-09-27 15:49 ` Linux-2.4.10 John Jasen @ 2001-09-27 18:23 ` Petr Baudis 3 siblings, 0 replies; 44+ messages in thread From: Petr Baudis @ 2001-09-27 18:23 UTC (permalink / raw) To: George R.Kasica; +Cc: linux-kernel > Would you recommend doing the upgrade or waiting for 2.4.11 or is > there a middle ground release (2.4.6,7,8,9) that you'd recommend. I stopped on 2.4.6, using it from its release, and it seems rock-stable to me - it was with p75 (amd k5 133mhz) with 32mb ram, sometimes under really HEAVY load with all memory full; infinite loop consuming all the memory ;), now with amd k6 singing in the rythm of 500mhz, and w/o any problems. It is used as my desktop machine (bunch of vims, sometimes even X+wm) and as the server (binds, postfix/qmail, apache..) as well. If you aren't doing unusual things on exotic hardware (ok, via soundcard driver has a problems ;), you should be happy with this.. The last mainstream kernel with sane vm :-). -- Petr "Pasky" Baudis . . n = ((n >> 1) & 0x55555555) | ((n << 1) & 0xaaaaaaaa); n = ((n >> 2) & 0x33333333) | ((n << 2) & 0xcccccccc); n = ((n >> 4) & 0x0f0f0f0f) | ((n << 4) & 0xf0f0f0f0); n = ((n >> 8) & 0x00ff00ff) | ((n << 8) & 0xff00ff00); n = ((n >> 16) & 0x0000ffff) | ((n << 16) & 0xffff0000); -- C code which reverses the bits in a word. . . My public PGP key is on: http://pasky.ji.cz/~pasky/pubkey.txt -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS d- s++:++ a--- C+++ UL++++$ P+ L+++ E--- W+ N !o K- w-- !O M- !V PS+ !PE Y+ PGP+>++ t+ 5 X(+) R++ tv- b+ DI(+) D+ G e-> h! r% y? ------END GEEK CODE BLOCK------ ^ permalink raw reply [flat|nested] 44+ messages in thread
end of thread, other threads:[~2001-09-27 18:38 UTC | newest] Thread overview: 44+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2001-09-23 18:54 Linux-2.4.10 Linus Torvalds 2001-09-23 16:41 ` Linux-2.4.10 Rob Landley 2001-09-23 21:32 ` Linux-2.4.10 André Dahlqvist 2001-09-23 21:54 ` Linux-2.4.10 Alan Cox 2001-09-23 21:30 ` Linux-2.4.10 + ext3 Michael Rothwell 2001-09-23 22:18 ` Gergely Nagy 2001-09-24 2:06 ` Linus Torvalds 2001-09-24 2:30 ` Aaron Lehmann 2001-09-24 3:45 ` Andrew Morton 2001-09-24 4:35 ` Simon Fowler 2001-09-24 20:40 ` Stephen C. Tweedie 2001-09-24 4:45 ` Aaron Lehmann 2001-09-24 5:19 ` Andrew Morton 2001-09-24 19:49 ` Jamie Lokier 2001-09-24 20:22 ` Chris Meadors 2001-09-24 21:57 ` Jamie Lokier 2001-09-24 21:04 ` Andreas Dilger 2001-09-24 18:12 ` Linus Torvalds 2001-09-24 18:25 ` Alexander Viro 2001-09-26 16:49 ` Stephen C. Tweedie 2001-09-27 12:12 ` Jan Kara 2001-09-27 18:37 ` Stephen C. Tweedie 2001-09-23 21:54 ` Linux-2.4.10 Trond Myklebust 2001-09-23 22:34 ` Linux-2.4.10 David Woodhouse 2001-09-24 6:28 ` Linux-2.4.10 Erik Andersen 2001-09-24 6:48 ` Linux-2.4.10 David Woodhouse 2001-09-24 17:40 ` Linux-2.4.10 Erik Andersen 2001-09-24 17:41 ` Linux-2.4.10 David Woodhouse 2001-09-23 22:40 ` Linux-2.4.10 - necessary patches Eyal Lebedinsky 2001-09-24 0:04 ` Alan Cox 2001-09-24 14:42 ` Oliver Xymoron 2001-09-24 1:25 ` Linux-2.4.10 Matthias Andree 2001-09-24 2:26 ` Linux-2.4.10 Daniel T. Chen 2001-09-24 3:19 ` Linux-2.4.10 Matthias Andree 2001-09-24 2:57 ` Linux-2.4.10 Disconnect 2001-09-24 10:07 ` Linux-2.4.10 Matthias Andree 2001-09-27 12:17 ` Linux-2.4.10 Roeland Th. Jansen 2001-09-24 2:35 ` Linux-2.4.10 Naren Devaiah 2001-09-24 9:37 ` PATCH[2.4.9-pre14] Kill *writeonly* variable Martin Dalecki 2001-09-27 15:23 ` Linux-2.4.10 George R. Kasica 2001-09-27 15:27 ` Linux-2.4.10 Rik van Riel 2001-09-27 15:31 ` Linux-2.4.10 Bernd Petrovitsch 2001-09-27 15:49 ` Linux-2.4.10 John Jasen 2001-09-27 18:23 ` Linux-2.4.10 Petr Baudis
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox