- 07 May, 2002 11 commits
-
-
Dave Jones authored
Done by William Stinson. Adds error handling to request_region() calls, and converts some old check_region() calls too.
-
Martin Dalecki authored
- m68k fixes by Roman Zippel. - CDROM PIO mode fix by Osamu Tamita. (You are true "Hawk-eye" hovering over my head! Respect - and many Thanks.) - Virtualize the udma_enable method as well to help ARM and PPC people. Please please if you would like to have some other methods virtualized in a similar way - just tell me or even better do it yourself at the end of ide-dma.c. I *don't mind* patches. - Fix the pmac code to adhere to the new API. It's supposed to work again. However this is blind coding... I give myself 80% chances for it to work ;-).
-
Martin Dalecki authored
Nuke /proc/ide. For explanations why, please see the frustrated comments in the previous change log. If one still don't see why it wasn't a good thing, well please just take a look at the following: Kernel size before: text data bss dec hex filename 1716049 403968 470252 2590269 27863d vmlinux Kernel size after: text data bss dec hex filename 1680993 403488 470124 2554605 26faed vmlinux 2% of overall size! And this is not exactly an minimalistic setup.
-
Martin Dalecki authored
- Push poll_timeout down from the hwgroup to the channel. We are resetting the channel and not a whole hwgroup. This way using multiple pdc202xxx cards should magically start to work with multiple performance and resets will no longer lock the system. - Updates for PDC4030 by Peter Denison <peterd@marshadder.uklinux.net>. - Make ide_raw_taskfile don't care about request buffers. They where always NULL. - Port set multi mode count over from the special setting interface to ide_raw_taskfile. Fix errors in the corresponding interrupt handler in one go as well. It turned out that this is precisely the same code as in task_no_data_intr, so we can nuke it altogether. And finally we have found some problems with the set_pio_mode() command which can fail with -EBUSY - this is in esp. probably *very* common during boot hdparm usage those days! (OK it was masked by reportig too early that it finished... Crap Crap utter crap it was!!!) Right now hdparm should just be extendid to properly sync and retry on -EBUSY and everything should be fine. And now the 1 Milion EUR question for everybody who loves to put driver settings in to /proc: How the hell could echo > /proc/ide/ide0/settings blah blah blah blah handle properly cases like -EIO, -EBUSY and so on??? Having the possibility o do it does not mean that it is a good idea to use it. OK. After realizing the simple fact that quite a lot of low level hardware manipulating ioctls may require assistance in usage from proper logic which is *very* unlikely to be implemented in a bash (for me preferable still ksh) I have made my mind up. /proc/ide will be nuked. - Execute the recalibration for error recovery on precisely the same request as the one which failed. - Remove set geometry. It's crap by means of standard specification. Because: 1. We rely on the existence of the identify command anyway. 2. This command was obsoleted *before* the identify command existed as far as I can see. 2. I'm able to have a look at what other ATA/ATAPI drivers in the wild do: They don't do it. - Just call tuneproc in set_pio_mode() directly - we are already behind the rq queue there. - After we have uncovered the broken logics behind the whole ioctl handling we now just have made ide_spin_wait_hwgroup() waiting for a proper somehow longer timeout before giving up. This was previously just hiding the broken concept of setting ioctl values through /proc/ide/ideX/settings - now it just really helps hdparm to not to give up too early. (It shouldn't probably play wreck havock on the global driver spin lock as well. I will look in to this later.) - Scrap the non necessary, to say the least, disabling of interrupts for 3, read it again please, 3 seconds, on the local CPU inside ide_spin_wait_hwgroup(). Spin lock handling needs checking there badly as I see now as well... Hey apparently any "special" requests are gone. We now have only to deal with REQ_DEVICE_ACB and REQ_DEVICE_CMD. One of them is still too much and will be killed.
-
Neil Brown authored
This actually contains a lot of code that is never used, as we don't currently attempt to load an inode that isn't in cache, so the fat_get_parent is never actually reached. However it is there (and should be right) incase some brave soul does decide to enhance fat_get_dentry accordingly.
-
Neil Brown authored
This patch converts reiserfs to use the new export_operations interface for exporting a filesystem instead of the old fh_to_dentry and dentry_to_fh. Essentially it: - renamed reiserfs_dentry_to_fh to reiserfs_encode_fh - split reiserfs_fh_to_dentry into reiserfs_get_dentry and reiserfs_decode_fh - calls d_splice_alias from reiserfs_lookup so that building a dcache path from the bottom works well - addes reiserfs_get_parent to do a lookup of ".." without going through the VFS interfaces. - sets sb->s_export_op to be an appropriately initialised struct export_operations This has been tested and works.
-
Neil Brown authored
This patch converts ext3 to use the new export_operations for exporting a filesystem. In particular it - defines "ext3_get_parent" to do a lookup(".."), - calls d_splice_alias when ext3_lookup finds something, so that build a dcache path from the bottom up works, and - sets sb->s_export_op to point to an (almost empty) export_operations structure. The fact that it is mostly empty means that the default lookup operations are used, which match the previous approach (i.e. use iget, and then check the generation number).
-
Neil Brown authored
d_move wants the kernel to be locked, so d_splice_alias now takes that lock.
-
Neil Brown authored
Chris Wright <chris@wirex.com> suggested these to limit to 80 columns and such.
-
Neil Brown authored
1/ Return correct error code if nfs server creation fails 2/ Increase limit on number of nfsd threads There is no real justification for stopping a sysadmin from running lots and lots of nfsd threads, so we raise the imposed limit from 128 to 8192... maybe it should just go away...
-
Neil Brown authored
The sunrpc/tcp layer currently allocates some resources linearly with number of server threads. This causes problems when there are very small numbers of threads (e.g. lockd with one thread), so this patch adds a small constant to the number of threads before calculating resoures to allocate. This patch also provide proper upper-limits for the response sizes for lockd requests, so resources are not over-allocated. Together these resolve problems with heavy lockd load over tcp.
-
- 06 May, 2002 5 commits
-
-
Christoph Hellwig authored
- remove page_cache_entry - I think it never ever was actually used. - remmove wake_up_page (as in 2.4) - never used - remove misleading comment ontop of pagemap.h - make wait_on_page* directly call wait_on_page_bit - some reordering and additional comments in pagemap.h
-
http://linux-ntfs.bkbits.net/ntfs-tng-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Anton Altaparmakov authored
to {set_,clear_,}buffer_async_read).
-
Martin Dalecki authored
- Update HPT374 driver carried over from 2.4.xx series by Andrew Morton. Resync it with the recent host chip driver changes, or better the introduction of an API at all. - Consolidate the handling of device ID byte order in one place. This was spotted and patched by Bartomiej onierkiewicz. - Eliminate CONFIG_BLK_DEV_IDEPCI - it's duplicating the functionality of the already present and fine CONFIG_PCI flag and if we are a PCI host, we are indeed very likely to need host chip support anyway. - Remove some redundant info about the model and channel number from /proc/ide. Remove the binary entries not helpful to the user, and not used by any program and redundant to corresponding ioctls. - Properly return udma_read and udma_write values in taskfile. - Only initialize XXX_udma to the default handlers if it has not been initialized by the host chip initialization. I have enabled spin lock debugging and can see that on device flush the spin locks get wrong counts... no problems elsewher ethus far. I will re check them next time around.
-
Jens Axboe authored
Transposed the last two arguments to memset, causing a slab poisoned kernel not to use tagging correctly... Brown paper bag stuff.
-
- 05 May, 2002 19 commits
-
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Christoph Hellwig authored
Si_meminfo() is basically the same for all architectures (mips is a little different by providing a value for the shared field that is different from the originial intent, I will come back to this later), so it makes to have just one instance of it:
-
Christoph Hellwig authored
- appletalk adds unnessesary additional arguments to bool - net/wan has two comment statements on one line, separated by a + (!), also fixup indentation here. - sound uses a bool where it should use a dep_bool
-
Christoph Hellwig authored
This patch addresses Andrew's FIXME in buffer.c and adds a spinlock that can be passed to the buffer list manipulation functions to the reiserfs journal. This obsoletes the cheks for lock beeing NULL in buffer.c and the global_bufferlist_lock. In addition osync_inode_list is changed to use list_for_each_prev as in 2.4 instead of a hand-crafted loop. A little comment to the reiserfs folks: your code would be _sooo_ much easier to understand if you used temporary local variables for often referenced fields..
-
Alexander Viro authored
D'uh. Linus, 2.5 also needs that one. BTW, folks - whoever had submitted "fixes" replacing /dev/root.old with /old/dev/root.old several lines above that one are welcome to think about the reasons why their patches removed "failed" from boot log.
-
Andrew Morton authored
-
Andrew Morton authored
Pages under writeback are not locked. So it is possible (and quite legal) for a page to be under readpage() while it is still under writeback. For a partially uptodate page with blocksize < PAGE_CACHE_SIZE. When this happens, the read and write I/O completion handlers get confused over the shared BH_Async usage and the page ends up not getting PG_writeback cleared. Truncate gets stuck in D state. The patch separates the read and write I/O completion state. It also shuffles the buffer fields around. Putting the commonly-accessed b_state at offset zero shrinks the kernel by a few hundred bytes because it can be accessed with indirect addressing, not indirect+indexed.
-
Andrew Morton authored
Set PG_launder against pages which are under VM writeback. So page allocators will throttle against them.
-
Andrew Morton authored
set_page_dirty() runs without the page lock. So __block_write_full_page() needs to be able to cope with the page's buffers being dirtied concurrently, on another CPU. Do this with careful ordering and a test-and-set.
-
Andrew Morton authored
Closes a small race window: testing PageWriteback() outside the page lock introduces the possibility that page could be redirtied and have writeback started after we've inspected PageWriteback.
-
Andrew Morton authored
When ext3 refiles journalled buffers for writeback, it is better to set the page dirty as well as the buffer. So the page will be written out by VM pressure rather than by kjournald alone.
-
Andrew Morton authored
swapper_space is different. Its pages are locked during writeout, it uses PAGE_SIZE rather than PAGE_CACHE_SIZE. Converting swap to look more like the other address_spaces is a separate project. This patch fully restores the old swap behaviour. - Don't dirty swapcache page buffers in set_page_dirty(). Fixes a problem where __free_pte() runs set_page_dirty() and then immediately runs ClearPageDirty(). The pages ends up clean, with dirty buffers, and is unfreeable. - Hence, don't mark the page clean if its buffers are clean - swap does not have page/buffers dirty state coherency.
-
Andrew Morton authored
The buffer state "uptodate, dirty, unmapped" is legal. It occurs when a mapped page with attached buffers which is over a hole is dirtied. So discard_buffer() needs to be able to discard those buffers as well; otherwise the page ends up clean, with dirty buffers and is unfreeable.
-
Andrew Morton authored
__delete_from_swap_cache modifies the radix tree. We need to take the lock for writing.
-
Andrew Morton authored
The recently-added page allocation failure warning generates a lot of noise due to radix-tree node allocation failures. Those messages are not interesting. But I think the warning is otherwise useful - "I got an allocation failure and then it crashed" is better than "it crashed". The patch suppresses the message for ratnode allocation failures.
-
Martin Dalecki authored
- Finish the changes from patch 53. ide_dma_actaion_t is gone now as well as whole hidden code paths associated with it. I hope I didn't mess too many things up with this, since the sheer size of the changes make them sensitive. (Tested on tree different host chip sets so it shouldn't be too bad...) Just still some minor cleanup remaining to be done in this area. The tags lefts there are intentional. In esp. the ide_dma_on method in cy82c693 looks suspicious. Using udma_enable in ide-cd.c, ide-floppy.c and ide-tape.c is suspicious as well. We have just uncovered it. In the next round we will concentrate on the fixes people did send me last time.
-
Martin Dalecki authored
- Start splitting the functions for host chip handling in to separate entities. This change is quite sensitive and may cause some trouble but it's for certain worth it anyway, because it should for example provide a much better infrastructure for th handling of different architectures.
-
Martin Dalecki authored
Adapted from patch Bar³omiej ¯o³nierkiewicz: - make straight8 a flag in ata_channel instead of byte - don't store tables as code in drive_is_flashcard() and ide_xfer_verbose() - fix init_gendisk() (due to 2.5.13 blksize_size[] change) - compress region requesting/releasing in channel_probe() and ide_unregister() - clean a bit ide_setup_ports() Start of DMA handling tratment. - Fix the parameters to ide_build_dmatable() to be channel and request. Rename it to udma_new_table(). udma will mark arch specific functions later. - Let ide_start_dma() take the request directly as an arguemnt. Rename it to ata_start_dma(). After realizing that the usage of the func argument of it was bogous and that nobody is using rwproc we where able to remove both of them. - Fix ide_destroy_dmatable() to take the channel as argument and rename it to udma_destroy_table(). This function should have possible architecture specific implementation as well at some point in time. - Split up the TCQ UDMA handling stuff in to proper functions. Jens must has been dreaming as he introduced them ;-).
-
- 04 May, 2002 1 commit
-
-
http://linux-ntfs.bkbits.net/linux-2.5-mmLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 05 May, 2002 1 commit
-
-
Anton Altaparmakov authored
- Remove always unused variable page from remap_pte_range(). - Fix printk in do_wp_page() so it doesn't print out an uninitialized variable (old_page). Add KERN_ERR log level while at it.
-
- 04 May, 2002 3 commits
-
-
http://linux-ntfs.bkbits.net/ntfs-tng-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Anton Altaparmakov authored
- Initialize the mftbmp address space properly now that there are more fields in the struct address_space. This was leading to hangs and oopses on umount since 2.5.12 because of changes to other parts of the kernel. We probably want a kernel generic init_address_space() function... - Drop BKL from ntfs_readdir() after consultation with Al Viro. The only caller of ->readdir() is vfs_readdir() which holds i_sem during the call, and i_sem is sufficient protection against changes in the directory inode (including ->i_size). - Use generic_file_llseek() for directories (as opposed to default_llseek()) as this downs i_sem instead of the BKL which is what we now need for exclusion against ->f_pos changes considering we no longer take the BKL in ntfs_readdir().
-
Osamu Tomita authored
I found this bug in 2.5.10 first. And caused ext2 FS corruption. We are porting Linux to PC-9801 architecture (made by NEC Japan). It has PIO ONLY IDE I/F. So please check PIO mode too. It was introduced in 2.5.9 and still exists in 2.5.13, and caused superblock corruption for Andries. This fixes it.
-