1. 22 Nov, 2003 1 commit
    • Mike Anderson's avatar
      [PATCH] scsi device ref count (update) · e4df9910
      Mike Anderson authored
      This patch is against scsi-bugfixes-2.6. I updated it based on comments
      received. It breaks up the reference count initialization for scsi_device
      and restores calling slave_destroy for all scsi_devices configured or
      not. I ran a small regression using the scsi_debug, aic7xxx, and qla2xxx
      driver. I also had a debug patch for more verbose kobject cleanup and
      patch for a badness check on atomic_dec going negative (previously
      provided by Linus).
      
      The object cleanup appears to being functioning correctly. I only saw
      previously reported badness output:
      	- Synchronizing SCSI cache fails on cleanup.
      	- scsi_debug.c missing release (I believe Doug posted a patch)
      	- aic7xxx warnings on rmmod due to ahc_platform_free calling
      	  scsi_remove_host with ahc_list_lock held.
      
      
      This patch splits the scsi device struct device register into init and
      add. It also addresses memory leak issues of not calling slave_destroy
      on scsi_devices that are not configured in.
      
      Details:
      * Make scsi_device_dev_release extern for scsi_scan to use in
      alloc_sdev.
      * Move scsi_free_sdev code to scsi_device_dev_release. Have
      previous callers of scsi_free_sdev call slave_destroy plus put_device.
      * Changed name of scsi_device_register to scsi_sysfs_add_sdev to
      match host call and align with split struct device init.
      * Move sdev_gendev device and class init to scsi_alloc_sdev.
      
      Thu Nov 20 22:56:11 PST 2003
      
       drivers/scsi/scsi_priv.h  |    4 +-
       drivers/scsi/scsi_scan.c  |   63 +++++++++++++++++++++-------------------------
       drivers/scsi/scsi_sysfs.c |   58 ++++++++++++++++++++++--------------------
       3 files changed, 62 insertions(+), 63 deletions(-)
      e4df9910
  2. 21 Nov, 2003 12 commits
  3. 20 Nov, 2003 6 commits
  4. 19 Nov, 2003 8 commits
  5. 18 Nov, 2003 13 commits
    • Andrew Morton's avatar
      [PATCH] disallow modular BINFMT_ELF · 44cb023a
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      Modular BINFMT_ELF doesn't build, and is pretty pathological anyway.
      
      So just make it a boolean rather than a tristate.
      44cb023a
    • Andrew Morton's avatar
      [PATCH] mpparse printk fix · 97c52a80
      Andrew Morton authored
      From: Herbert Xu <herbert@gondor.apana.org.au>
      
      The recent patch produces a message with no terminating newline on the
      machine in question.  This is because one of the four bytes that you're
      printing out is NUL.  The following patch avoids that problem.
      97c52a80
    • Andrew Morton's avatar
      [PATCH] resource.c bounds checking fix · 9069925a
      Andrew Morton authored
      From: Jeremy Higdon <jeremy@classic.engr.sgi.com>
      
      I believe there is a bug in kernel/resource.c.
      
      We (SGI sn2 I/O code) are using this for allocating dma map resources, and
      we tracked failures we were seeing to find_resource().
      
      The problem is that when testing bounds in the forever loop, the end bound
      would be one higher than it should be if it gets set from another resource
      (it's set to the proper value when it gets set from the root), causing
      find_resource to return an invalid min/max when the requested size was one
      greater than would fit between two existing resources.
      9069925a
    • Andrew Morton's avatar
      [PATCH] fs/ext[23]/xattr.c pointer arithmetic fix · 0693b768
      Andrew Morton authored
      From: Andreas Gruenbacher <agruen@suse.de>
      
      64-bit pointer arithmetic bug in xattr code
      
      The int offset is not enought to hold the difference between arbitraty
      pointers on 64-bit machines.  Compute the offset of here and last inside
      HDR(bh) instead.
      0693b768
    • Andrew Morton's avatar
      [PATCH] cpu_sibling_map fix · d174dc06
      Andrew Morton authored
      From: James Cleverdon <jamesclv@us.ibm.com>
      
      On summit-based machines the cpu_sibling_map data has been hosed for some
      time.  I found out why in Intel's IA-32 Software Deveveopers' Manual Vol 2
      under CPUID.  Looks like the value that cpuid returns is the one latched at
      reset, and doesn't reflect any changes made by the BIOS later:
      
        * Local APIC ID (high byte of EBX)--this number is the 8-bit ID that
          is assigned to the local APIC on the processor during power up.  This
          field was introduced in the Pentium 4 processor.
      
      Also, the code in init_intel was a bit overdesigned.  Until Intel releases
      a chip with a non-power-of-2 sibling count on it, there's no point in all
      that bit bashing.
      d174dc06
    • Andrew Morton's avatar
      [PATCH] init.h needs to include compiler.h · 82120e6a
      Andrew Morton authored
      From: Jun Sun <jsun@mvista.com>
      
      It is needed for all those "__attribute_used__" etc to be valid.
      
      Also, it seems that when compiling a file ending in ".S", gcc-2.95.3 does not
      expand __GNUC__ at all.  This causes the compiler version check to fail when
      building vsyscall.S.  So add __ASSEMBLY__ wrappers in there.
      82120e6a
    • Andrew Morton's avatar
      [PATCH] ext2 block allocator fixes · a9bca018
      Andrew Morton authored
      Fix a couple of problems which were introduced by a recent race fix in the
      ext2 block allocator:
      
      - if the allocation attempt raced, and lost the race then a new attempt is
        made.  But the earlier reservation must be put back first.
      
        Add a call to group_release_blocks() to fix this.
      
      - if the filesystem is genuinely corrupted then the code as-is can get
        stuck in an infinite loop, thinking that a blockgroup has free blocks and
        then discovering that its bitmap is full.
      
        Fix this by baling out after having scanned all blockgroups twice.
      
        (Thanks Muli Ben-Yehuda <mulix@mulix.org> for spotting this).
      a9bca018
    • Andrew Morton's avatar
      [PATCH] ext3_new_inode fixlet · bc5de0cd
      Andrew Morton authored
      From: Alex Tomas <alex@clusterfs.com>
      
      If the ext3 inode allocator tries to claim an inode and fails because
      another CPU got in there first it will then advance onto the next
      blockgroup and try again.
      
      Change it to advance onto the next inode within the same blockgroup
      instead.
      bc5de0cd
    • Andrew Morton's avatar
      [PATCH] ide-scsi: warn when used for cdroms · b758ab40
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      Print a runtime warning if ide-scsi is used on a cd device.
      
      Modify the ide-scsi menuconfig help to reflect that ide-scsi should
      not be used for cd burning.
      b758ab40
    • Andrew Morton's avatar
      [PATCH] fix percpu_counter_mod linkage problem · bfe687b3
      Andrew Morton authored
      If both ext2 and ext3 are built as modules there is nothing to pull
      percpu_counter_mod() into the kernel build and the ext2 and ext3 modules do
      not load.
      
      So move percpu_counter_mod() out of lib.a.
      bfe687b3
    • Andrew Morton's avatar
      [PATCH] remove ext2_reserve_inode() · e71775ef
      Andrew Morton authored
      It now has no callers.
      e71775ef
    • Andrew Morton's avatar
      [PATCH] Fix bugs in ext2_new_inode() · 0fa7a1a9
      Andrew Morton authored
      From: Mingming Cao <cmm@us.ibm.com>
      
      I found several bugs/issues in the ext2_new_inode() code:
      
      1) The for loop variable "i" is used to save the inode offset.  In the
         case of failure, the loop variable could be crapped.  So it is possible
         to quit searching before looking at every block groups.
      
      2) The number of free inodes in the selected group is possibly being
         miscalculated.  The counter is only decreased in the find_group_xx()
         functions for the initial selected group.  If the initial try failed,
         and succeed in finding a free inode in other group, the counter for that
         group will not to be decreased.
      
      3) In case of the concurrent case, going back to find_group_xx()
         functions are unnecessary, it will only get the same group as before.
      
      The following patch fixed those issues.  Ideas are stolen from
      ext3_new_inode().
      0fa7a1a9
    • Andrew Morton's avatar
      [PATCH] ia32: hugetlb needs pse · 85479eb6
      Andrew Morton authored
      From: Zwane Mwaikambo <zwane@arm.linux.org.uk>
      
      If the CPU doesn't support PSE we cannot use hugetlb pages.
      85479eb6