- 09 Feb, 2002 6 commits
-
-
Alexander Viro authored
in ext2_new_block() inode->i_sb can't be NULL. Dead code removed. merged returns in ext2_new_block() in ext2_new_block() added a local variable (sbi) for sb->u.ext2_sb; users converted. calculation of prealloc_goal moved into beginning of function. new local variable (block). Initialized to 0, set to the number of allocated block only when we are known to be successful. ext2_new_block() returns the value of 'block' now. As the result, out: is gone - it's identical to out_unlock now. check for block being chosen past the end of disk had been moved up No sense to check that after we had done the preallocations... quota allocation taken into the beginning of ext2_new_block(). we put the number of blocks we'd reserved into dq_alloc and then decrement it each time old code would do DQUOT_ALLOC/increment when it would do DQUOT_FREE. On the exit we release dq_alloc blocks I.e. all allocations are pushed into the beginning and all freeing - to the end. now that we had moved the last possible point of failure up, we can do the same with assignment of final result to block. code that does allocation within a group had been taken out into a helper - grab_block(map, size, goal). decrementing fs-wide free blocks count moved into the beginning of function. We try to reserve up to dq_alloc blocks - amount we _can_ grab is limited by the actual free space and root-reserved percentage. That logics had been taken into a helper - reserve_blocks(sb, amount). Number of blocks we had managed to reserve is put into es_alloc. When we actually grab a block, es_alloc is decremented. Upon the exit we release the leftovers. Old code didn't honor 'reserved for root' limit when doing prealloc - now that had been fixed. EXT2_BLOCKS_PER_GROUP(sb) put into a local variable (group_size) similar "reserve and release leftovers in the end" scheme for group (i.e. we try to reserve as much as we want in the group, then count how much had been used up and release the leftovers in the end). cleaned up the preallocation loop.
-
Alexander Viro authored
minor cleanup: update 'freed' only after we finish with group
-
Alexander Viro authored
in ext2_free_blocks() inode->i_sb can't be NULL; dead code removed.
-
Alexander Viro authored
new helper - group_release_blocks(desc, bh, count); updates free blocks count for given group ext2_free_blocks now counts the blocks freed in group and updates the per-group free blocks count at once.
-
Alexander Viro authored
we postpone releasing the quota until the end of ext2_free_blocks() and do that at once.
-
Alexander Viro authored
new helper function - release_blocks(sb, n); in ext2_free_blocks() we count the blocks we'd freed and update the fs-wide count of free blocks in the end - just before unlocking superblock. instead of doing that step at a time. reviewed by ext2 folks
-
- 08 Feb, 2002 34 commits
-
-
Alexander Viro authored
Fix lost argument to "connect()"
-
Linus Torvalds authored
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Patrick Mochel authored
struct device has no ->sysdata and ->device should be ->dev
-
Alexander Viro authored
exp_procfs_exports() switched to seq_..., missing lock added.
-
Alexander Viro authored
all exports for given client are put on the cyclic list (->cl_list/->ex_list). Code cleaned up.
-
Alexander Viro authored
exports hash switched to use of struct list_head, code cleaned up.
-
Dave Jones authored
Change to use the new include/linux/zconf.h
-
Dave Jones authored
Additional descriptions that got lost along the way somewhere. Also updates some extra IDE options that shared the same fate.
-
Dave Jones authored
unneeded these days..
-
Dave Jones authored
- Reorder mainmenu items so CONFIG_EXPERIMENTAL is at the top again. - Various updates from 2.4
-
Dave Jones authored
-
Dave Jones authored
2.4/2.5 kernels suffer from an infinitely long hang when a serial tty device is closed, and there are characters waiting to be sent. The hang occurs in tty_wait_until_sent. There is a timeout 'closing_wait' which defines how long to wait for the TX buffers to empty; the problem is that the serial layer totally ignores it. It is stored in two structures, 'info' and 'state'. It is initialised in the 'state' structure, but used from the 'info' structure. It turns out that 'hub6' was also missing. I'm not currently clear what the expected behaviour should be when the timeout is changed via setserial, and others have the port open - I've opted to preserve the timeout until all users close the port. It's trivial to change this behaviour though.
-
Dave Jones authored
Mostly from 2.4.17 / 18pre. - Code cleanup - Fix suspend/resume on several chipsets - Add support for i820.
-
Dave Jones authored
Make spinlocks etc use subsections of their parent sections instead of an ELF section of their own - needed for newer binutils when the parent sector is removed.
-
Dave Jones authored
Newer Athlons have means of checking if they are SMP capable or not. This code adds checks that printk a warning on systems not intended for SMP, and set the taint flag that modutils is already aware of. The taint code is also improved to use defines instead of magic numbers.
-
http://linuxusb.bkbits.net/linus-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Greg Kroah-Hartman authored
-
http://gkernel.bkbits.net/vm-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Jeff Garzik authored
swap_info_struct became pretty much superfluous. As we are minimizing kdev_t usage anyway, I took the opportunity to remove swap_device member, and replace the remaining usages with SWP_BLOCKDEV bit flag. Adding SWP_BLOCKDEV in turn motivated a small cleanup of the SWP_xxx bit flags and their usage. Patch has been in light testing for a couple weeks, and has been glanced at by Al. "looks sane"
-
http://gkernel.bkbits.net/net-drivers-2.5Linus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Jeff Garzik authored
* Initialize interface carrier state in speedo_open. * Update previous netif_carrier_{on,off} change to use linux/mii.h constants. Contributor: Andrew Morton, with modifications from me
-
Jeff Garzik authored
on all RX interrupts. Prior to this fix, RX FIFO overrun and RX buffer overrun interrupts did not trigger an RX poll; now they do. Contributor: Manfred Spraul
-
Jeff Garzik authored
via netif_carrier_{on,off}. Some placeholders to do this were already in the code, making this an even easier and more obvious patch. Also, decrease time until next link beat check, if link beat is not present. (previously the code would wait 60 seconds until next check, regardless of current link state) Contributor: Stefan Rompf, with changes from me
-
Jeff Garzik authored
* Add support for Conexant tulip clones. * Do not store eeprom data on stack (128 or 512 bytes), it's a large object, and also, we already have a copy in kmalloc'd RAM. Contributor: Pavel Roskin
-
Jeff Garzik authored
by cleaning up the pcnet32 namespace a bit. s/PORT_/PCNET32_PORT_/ for local constants, to avoid conflicting with linux/ethtool.h. Contributor: William Lee Irwin III
-
Jeff Garzik authored
"some" systems with "some" cables see a large amount of errors, due to a hardware bug. This bug is (apparently) not probe-able; however it only appears on rare reference boards and the like, so we simply add a config option and default the option to OFF. Further detail: When CONFIG_NATSEMI_CABLE_MAGIC option is enabled, PMDCSR_VAL register value becomes 0x1898, a value provided by a NatSemi app note. This enables a workaround for a hardware bug which is (apparently) not probe-able. Luckily the hardware bug is (apparently) not common either, so we default to disabling this workaround. Contributor: Tim Hockin
-
Jeff Garzik authored
the size of the Tx data buffer list without cause. Spotted by Dave Jones.
-
Patrick Mochel authored
-
Alexander Viro authored
nfsd_read() slightly cleaned up.
-
Alexander Viro authored
initialize proc_inode properly for /proc/self/
-
Alexander Viro authored
logics in nfsd_lookup() cleaned up (see above, only more so ;-/)
-
Alexander Viro authored
new helper - exp_get_by_name(client, vfsmount, dentry). Used in places where we travers mountpoint.
-