- 18 Sep, 2002 4 commits
-
-
Jens Axboe authored
Make bio->bi_end_io() take bytes_done and actual error as argument. This enables partial completion of bio's, which is important for latency reasons (bio can be huge, for slow media we want page-by-page completions). I think I got most of the bi_end_io() functions out there, but I might have missed a few. For the record, if you don't care about partial completions and just want to be notified when the entire bio completes, add a if (bio->bi_size) return 1; to the top of your bi_end_io(). It should return 0 on completion. bio_endio() will decrement bio->bi_size appropriately, it's recommended for people to go through that. Otherwise they will have to control BIO_UPTODATE and bi_size decrement themselves, there's really no reason to do that. I've deliberately avoided doing any functional changes to any of the end_io functions, as I think that would only make the patch more complex. It's simple right now, but this being i/o paths I prefer (as usual) to be careful and take small steps. The mpage_end_io_read() do-vecs-at-the-time change can come right after this, for instance.
-
Jens Axboe authored
This makes mpage use bio_add_page(). It has the added advantage that users don't need to have deep knowledge about what the different bio fields mean, nor does it have to abuse some of them while building the bio.
-
Jens Axboe authored
This is bio_add_page(), 100% identical to the version I sent out for comments earlier this week. With the previous queue restriction patch, this guarentees that we can always add a page worth of data to the bio. bio_add_page() returns 0 on success, and 1 on failure. Either the page is added completely, or the attempt is aborted. bio_add_page() uses the normal queue restrictions to determine whether we an add the page or not. if a queue has further restrictions, it can define a q->merge_bvec_fn() to further impose limits. Patch also includes changes to ll_rw_kio(), if for nothing else to demonstrate how to use this piece of instrastructure.
-
Jens Axboe authored
Impose sane limits on queue restrictions. that means: - q->max_sectors must be able to at least span a page - q->max_phys_segments and q->max_hw_segments must be at least 1 - q->max_segment_size must be at least page sized - q->seg_boundary_mask must be at least PAGE_CACHE_SIZE-1
-
- 17 Sep, 2002 36 commits
-
-
Urban Widmark authored
Art Haas did these.
-
Adrian Bunk authored
cyclades.c doesn't compile cleanly: the problem is that older -dj patches contained patches to both cyclades.c and cyclades.h but only the former one went into your tree. This syncs up the header file too.
-
Art Haas authored
Here's a resend of C99 patches for the files in fs.
-
Rusty Russell authored
The old form of designated initializers are obsolete: we need to replace them with the ISO C forms before 2.6. Gcc has always supported both forms anyway.
-
Rusty Russell authored
I suck. Lvalues continue to haunt me. This works for me. BTW, I prefer to have bug reports cc'd to linux-kernel, so the results are archived. Plus, public humiliation is good for the soul.
-
Lucas Correia Villa Real authored
This is a trivial patch already applied in the -ac tree for the 2.4.19 kernel. Patch for i2c-philips-par.c free() the memory in the case of problems loading the adapter.
-
James Mayer authored
-
Brad Hards authored
<linux/smp_lock.h> has the normal idempotent construction. The attached file removes the second #include.
-
Art Haas authored
Here's a C99 designated initializer patch for fs/freevxfs. The patch is against 2.5.35.
-
bk://ldm.bkbits.net/linux-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Andrew Morton authored
Display the total slab memory in /proc/meminfo. Handy while we play with the slab pruning code. This info is also available via /proc/slabinfo, but I think this convenience is worth the extra few lines.
-
Andrew Morton authored
Patch from Christoph Hellwig. Move the buffer_head-based IO functions out of ll_rw_blk.c and into fs/buffer.c. So the buffer IO functions are all in buffer.c, and ll_rw_blk.c knows nothing about buffer_heads. This patch has been acked by Jens.
-
Andrew Morton authored
From Anton Altaparmakov The below bk patch against your current bk repository adds an export for fs/buffer.c::unmap_underlying_metadata() to modules. It is required to make ntfs compile as a module in the current kernel. Note that NTFS doesn't currently dirty bufferheads of the underlying blockdevice and as such could probably live without calling unmap_underlying_metadata() but as soon as we enable writing to compressed files it will do so and considering some of the infrastructure code is already present I would rather not rip it out now.
-
Andrew Morton authored
Patch by Christoph Hellwig. This patch is cleanup of mmap.c with the side-effect of making the lock order of mapping->i_shared_lock and mm->page_table_lock consistant. __remove_shared_vm_struct is merged into its only caller, remove_shared_vm_struct, which now also does the job of {lock,unlock}_vma_mappings itself, to avoid duplicate checks. Similarly, vma_link is updated to take and release i_shared_lock itself, fixing the lock order. split_vma is updated to use insert_vm_struct instead of using __insert_vm_struct and taking page_table_lock and i_shared_lock itself (wrongly). __insert_vm_struct is removed as it is unused now.
-
Andrew Morton authored
Patch from Christoph Hellwig. 250 lines of code go away. The three syscalls madvice/mlock/mprotect all change attributes of memory regions. These attributes are stored in vm_area_structs (VMAs). The current code for those syscalls does this by having four subroutines each, for changing a whole VMA, one for just setting new flags if a full VMA is affected, one that creates a new VMA in the right part of the old one and sets the flags there, one for the left part, and one that splits of both the left and the right part and sets the new flags in the middle. This patch makes those routines create new VMAs on the left and on te right hand first and then always setting the flags in the old VMA. Together with using a library function (split_vma) to to the split this simplies the code and makes it more readable. As a side affect it fixes some VM accounting bugs observed by Hugh Dickins.
-
Andrew Morton authored
Patch from Christoph Hellwig moves the madvise implementation out of filemap.c and into its own .c file. No other changes are made.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
-
David S. Miller authored
Andrew removed a flush_dcache_page in his kmap_atomic generic_file_* changes. Doing that sort of corrupts data on some platforms.
-
http://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Kai Germaschewski authored
Now that all archs use the same way to generate the link script, we can handle it from the common top-level Makefile instead of the individual arch/*/Makefile's.
-
Kai Germaschewski authored
Untested, but at least it should show how to adapt the mips arch.
-
Kai Germaschewski authored
Untested, but at least it should show how to adapt the cris arch.
-
Kai Germaschewski authored
This is an untested attempt to convert ARM to preprocessing vmlinux.lds.S instead of running sed on it - This probably allows for further cleanup, but I'll leave that to _rmk_.
-
Kai Germaschewski authored
For consistency reasons, generate arch/$(ARCH)/vmlinux.lds.s from arch/$(ARCH)/vmlinux.lds.S on all archs, even those which do not need preprocessing (yet).
-
Kai Germaschewski authored
Sam Ravnborg: Yep, "if_changed_dep" uses fixdep, so a dependency to scripts is needed. Added echo_target as well, so the result file is printed as well.
-
Pete Zaitcev authored
-
David S. Miller authored
-
David S. Miller authored
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-cls
-
David S. Miller authored
-
David S. Miller authored
-
bk://linuxconsole.bkbits.net/stableLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Jens Axboe authored
remove unused pdc202xx.h
-
Patrick Mochel authored
-