1. 19 Jan, 2004 16 commits
    • Andrew Morton's avatar
      [PATCH] bdev: add I_BDEV() · 8fbd544c
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      For bdevfs inodes (ones created along with struct block_device by
      fs/block_dev.c) we have inode->i_bdev equal to &BDEV_I(inode)->bdev (i.e.
      it's at the constant offset from inode).  New helper added for such inodes
      (I_BDEV(inode)).  A bunch of places (mostly in block_dev.c) switched to use
      of that helper.  A bunch of places that used
      
      	file->f_dentry->d_inode->i_bdev->bd_inode
      
      switched to
      
      	file->f_mapping->host
      
      - those expressions are equal whenever the former is valid.
      8fbd544c
    • Andrew Morton's avatar
      [PATCH] bdev: generic_write_checks() cleanup · 980f7186
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      generic_write_checks() had lost the first argument (inode) - it can be
      calculated from the second one (file).
      980f7186
    • Andrew Morton's avatar
      [PATCH] bdev: bd_acquire() cleanup · 893544c4
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      bd_acquire() made static, switched to returning the block_device it had
      found.  Callers updated.
      893544c4
    • Andrew Morton's avatar
      [PATCH] bdev: generic_osync_inode() conversion · 7ca0643e
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      generic_osync_inode() got an extra argument - mapping and doesn't calculate
      inode->i_mapping anymore.  Callers updated and switched to use of
      ->f_mapping.
      7ca0643e
    • Andrew Morton's avatar
      [PATCH] bdev: move i_mapping -> f_mapping conversions · df6a148f
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      More uses of ->i_mapping switched to uses of ->f_mapping - stuff that was not
      caught by the earlier f_mapping conversion.
      df6a148f
    • Andrew Morton's avatar
      [PATCH] bdev: use correct mapping's i_sem · 54df7662
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      In a bunch of places we used file->f_dentry->d_inode->i_sem to protect
      fdatasync et.al.  Replaced with corrent file->f_mapping->host->i_sem - the
      object we are protecting is address_space, so we want an exclusion that would
      work for redirected ->i_mapping.  For normal files (not coda, not bdev) it's
      all the same, of course - there we have
      
       	file->f_mapping->host == file->f_dentry->d_inode
      
      and change above is an equivalent transfromation.
      54df7662
    • Andrew Morton's avatar
      [PATCH] bdev: switch to f_mapping · 32d66678
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      A lot of places used to use ->f_dentry->d_inode->i_mapping all over the
      place.  Replaced with use of ->f_mapping.  For now - just the places where we
      literally could do search-and-replace.
      32d66678
    • Andrew Morton's avatar
      [PATCH] bdev: add file.f_mapping · dd503c67
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      New field of struct file - ->f_mapping.  We maintain the following:
      file->f_dentry->d_inode->i_mapping == file->f_mapping for all opened files.
      dd503c67
    • Andrew Morton's avatar
      [PATCH] bdev: presto conversion · 2b11e518
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      presto_journal_close() switched to passing struct presto_file_data * instead
      of bogus struct file *.  The only field of struct file we used to look at was
      file->private_data and most of the callers allocated on-stack struct file,
      assigned file.private_data and passed the sucker to presto_journal_close().
      Idiocy removed.
      
      Looks like they started with case where the data they wanted all along was,
      indeed, in ->private_data of already available struct file, so they just
      passed pointer to struct file.  And when they found that they need to call it
      in other places where there was no such struct file, they'd done it the dumb
      way instead of fixing the prototype...
      2b11e518
    • Andrew Morton's avatar
      [PATCH] bdev: blkdev_put() cleanup · 621d5c9e
      Andrew Morton authored
      From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk>
      
      Trivial cleanup in blkdev_put() - replace bdev->bd_inode->i_bdev with bdev.
      621d5c9e
    • Andrew Morton's avatar
      [PATCH] bdev: open() changes · a1864a75
      Andrew Morton authored
      The first of a series which move us toward blockdev hotplug support.  After
      these we have achieved the following:
      
      a) For "normal" (not bdevfs) inodes of block devices we never look at
         ->i_mapping.
      
      b) For the same inodes we only look at ->i_bdev in bd_acquire() where it's
         used only as "here's what we'd found the last time" sort of cached value.
         If it's NULL, we just recalculate it.
      
      c) Lots of messy expressions had been trimmed down, while we are at it.
      
      (a) and (b) allow us to start doing proper block hotplug - we can destroy the
      association between inode and bdev at any time, unhash bdev in question and
      have new open() do everything from scratch, without waiting for old opened
      files to close.  The goal is to be able to say "revoke everything over that
      gendisk"/"revoke that partition" and have it do the right thing.
      
      
      This patch:
      
      Where the old code called (block device) ->open(inode, file), use
      ->open(inode->i_bdev->bd_inode, file).  Changes in drivers:
      
      * none to those that only used inode->i_bdev and inode->i_rdev in their
        ->open() (bdev->bd_inode->i_bdev == bdev, so we are OK)
      
      * floppy.c and floppy98.c used to call permission(inode, ...) in
        floppy_open().  Switched to permission(file->f_dentry->d_inode, ...)
      a1864a75
    • Andrew Morton's avatar
      [PATCH] loop: fix file refcount leak · 26dd5cfe
      Andrew Morton authored
      - Fix an error-path file refcount leak
      
      - Remove unnecessary get_file()/fput() pair.
      
      - Clean up error handling a little
      26dd5cfe
    • Andrew Morton's avatar
      [PATCH] loop: fix hard sector size · 9644d0d9
      Andrew Morton authored
      From: Ben Slusky <sluskyb@paranoiacs.org>
      
      We need to set the hardsect_size of the loop device to that of the real
      device.
      
      The loop device advertises a block size of 1024 even when configured over a
      cdrom.
      
      When burning a ext2 on a cd, and mounting it directly, I get:
      
      	blocksize=2048;
      
      when I losetup /dev/loop0 /dev/cdrom, and then try to mount, I get:
      
      blocksize=1024; and then misaligned transfer; this results in not being able
      to read the superblock.
      
      The loop device should be changed to export the same blocksize of the
      underlying device
      9644d0d9
    • Andrew Morton's avatar
      [PATCH] radeonfb line length fix · 59d997a5
      Andrew Morton authored
      From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      
      Fix the calculation of screenpitch and line lengths.
      59d997a5
    • Andrew Morton's avatar
      [PATCH] kyrofb support · d2d4d371
      Andrew Morton authored
      From: Paul Mundt <lethal@linux-sh.org>
      
      This patch adds support for the Kyro graphics boards (STG4000/PowerVR
      3/etc= .) to 2.6.  This is a direct port and substantial cleanup / rewrite
      of the 2.4 driver that's available in the sh64 tree at linux-sh.bkbits.net.
      
      Some of the overlay code and the STG4000 bits are still a bit ugly, so be
      forewarned.
      d2d4d371
    • Andrew Morton's avatar
      [PATCH] SH Merge · 43450275
      Andrew Morton authored
      From: Paul Mundt <lethal@linux-sh.org>
      
      Here's a rather large update for SH (this is a bit large mainly since a
      number of things have piled up, and Linus didn't want any of this during
      feature freeze time). All of these changes are specific to the SH platform,
      and as such, shouldn't effect any other platforms.
      43450275
  2. 18 Jan, 2004 5 commits
  3. 16 Jan, 2004 2 commits
    • Bjorn Helgaas's avatar
      [SERIAL] make ACPI serial module unload work · aa66974b
      Bjorn Helgaas authored
      Patch from Bjorn Helgaas
      
      This patch makes ACPI serial ports work right when the serial driver
      is built as a module.  Previously, loading worked fine, but we
      didn't clean up on module removal.
      aa66974b
    • Bjorn Helgaas's avatar
      [SERIAL] make HCDP dependent on serial console · b6bb73e1
      Bjorn Helgaas authored
      Patch from Bjorn Helgaas
      
      I propose the following HCDP Kconfig patch.  It makes HCDP
      selectable only when serial console has been selected.  One
      desirable side effect is that both are then available only
      when statically compiled in (i.e., not built as a module).
      
      The HCDP support doesn't actually depend on IA64, but I left
      that in for now because nobody else implements support for it
      and I don't want people confused by a selectable option that
      doesn't do anything.  Maybe a "depends on EFI" or something
      will be useful eventually.
      b6bb73e1
  4. 15 Jan, 2004 17 commits