1. 21 May, 2004 40 commits
    • Linus Torvalds's avatar
      [REDO] ramdisk: separate the blockdev backing_dev_info from the hosted inodes · 46866963
      Linus Torvalds authored
      This re-applies the separation of the ramdisk blockdev inode
      backing store and the files that live in the ramdisk.
      
      Cset exclude: torvalds@ppc970.osdl.org|ChangeSet|20040521210025|21437
      46866963
    • Andrew Morton's avatar
      [PATCH] block device layer: separate backing_dev_info infrastructure · 520808bf
      Andrew Morton authored
      Sigh.  ramdisk almost works, except it loses data on umount.
      
      This is because the files which are atop the ramdisk do not contribute to
      dirty memory accounting, but they do need writeback.  So when sync() calls
      sync_inodes_sb() to do the work, sync_inodes_sb() hopelessly underestimates
      the number of pages which need writeback for a complete sync.
      
      If you run `sync' enough times, everything eventually hits "disk" and all is
      happy.
      
      The root cause here is that the ramdisk and the files which it hosts shared
      the same backing_dev_info.  This is inappropriate because the hosted files
      *do* want to writeback and really should contribute to dirty memory
      accounting. But the ramdisk inode itself wants neither.
      
      So.  The patch sets up the infrastructure which permits a blockdev to provide
      a separate backing_dev_info for the files which it hosts.  It's a bit of a
      ramdisk-special.
      520808bf
    • Linus Torvalds's avatar
      Add 'mode' argument to vfs_symlink. · f98c4469
      Linus Torvalds authored
      Right now we ignore it, but we need to pass this down
      to the low-level filesystems if we want to ever make
      knfsd create symlinks with different permissions correctly.
      f98c4469
    • Yoshinori Sato's avatar
      [PATCH] H8/300 module support update · 4e82b2d8
      Yoshinori Sato authored
      - add module support code
      - add H8/300 ELF infomation
      - fix kcore ELF format
      4e82b2d8
    • Yoshinori Sato's avatar
      [PATCH] H8/300 new ide driver support · 13bea95f
      Yoshinori Sato authored
      - new config items
      - interface setup
      - io cleanup
      13bea95f
    • Yoshinori Sato's avatar
      [PATCH] H8/300 mtd setup fix · b4625576
      Yoshinori Sato authored
      - config symbol fix
      b4625576
    • Linus Torvalds's avatar
      Undo separate backing_dev_info for ramdisk.c. · 008fbe6b
      Linus Torvalds authored
      The code was incomplete. Let's re-do it when the other pieces
      are in place.
      
      Cset exclude: akpm@osdl.org[torvalds]|ChangeSet|20040521202003|24125
      008fbe6b
    • Andrew Morton's avatar
      [PATCH] ramfs lfs limit · dacdeaae
      Andrew Morton authored
      From: Andrea Arcangeli <andrea@suse.de>
      
      this fixes the 2G limit on ramfs
      dacdeaae
    • Andrew Morton's avatar
      [PATCH] Neaten and fix init/main.c cpu bringup message · 4a664175
      Andrew Morton authored
      From: Andrew Theurer <habanero@us.ibm.com>
      
      Use num_online_cpus in smp_init instead of counting cpus which may or may not
      really be brought up.
      4a664175
    • Andrew Morton's avatar
      [PATCH] Fix power/shutdown.c comments · 245f2bf2
      Andrew Morton authored
      From: Roger Luethi <rl@hellgate.ch>
      
      Make the comments in drivers/base/power/shutdown.c somewhat less wrong. 
      There's still room for improvement :-/.
      245f2bf2
    • Andrew Morton's avatar
      [PATCH] drop left-over #ifndef __ia64__ · 0c44e490
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      It used to be that loops_per_jiffy was a macro on ia64, hence it couldn't be
      exported.  That's no longer the case though, so there is no point in
      inhibiting its export (not that it makes any _sense_ to export that value on
      ia64).
      0c44e490
    • Andrew Morton's avatar
      [PATCH] Fix i386/x86_64 cpuid/msr BUG() on impossible CPUs · c3ca375d
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      Matthieu Castet <castet.matthieu@free.fr> pointed out that testing
      cpu_online(cpu) on a UP system goes BUG().
      
      That's because you're never supposed to ask cpu_online() about a CPU which
      is >= NR_CPUS.  msr and cpuid devices use the minor to indicate the CPU
      number.  Oops.
      
      Fix is to explicitly test cpu < NR_CPUS.  Using cpu_online() is OK;
      although the CPU might go down before you actually read the file, that will
      simply cause junk to be returned.
      c3ca375d
    • Andrew Morton's avatar
      [PATCH] msr.c touchups · b7e09f03
      Andrew Morton authored
      A few things which Lindent got wrong.
      b7e09f03
    • Andrew Morton's avatar
      cb90cf3c
    • Andrew Morton's avatar
      [PATCH] trivial: swsusp section usage · 2c28ee5a
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  Pavel Machek <pavel@ucw.cz>
      
      This patch fixes init section usage in swsusp.c: "read_suspend_image()" can
      be __init.
      2c28ee5a
    • Andrew Morton's avatar
      [PATCH] trivial: fix counter in build_zonelists() · 007c4b62
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  Stephen Leonard <stephen@phynp6.phy-astr.gsu.edu>
      
      This fixes a counter that is unnecessarily incremented in build_zonelists().
      007c4b62
    • Andrew Morton's avatar
      [PATCH] trivial: add CC Trivial Patch Monkey to SubmittingPatches · b55a523c
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
       From:  maximilian attems <janitor@sternwelten.at>
      
      The "Trivial Patch Monkey" is neither documented in MAINTAINERS nor was there
      a note in SubmittingPatches.
      b55a523c
    • Andrew Morton's avatar
      [PATCH] trivial: drivers/media/video_ir-kbd-gpio.c: kill duplicate include · ed192f49
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  a.othieno@bluewin.ch (Arthur Othieno)
      ed192f49
    • Andrew Morton's avatar
      [PATCH] trivial: Make JFFS2 ready for Linux 2.7 · bea69dca
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      (OK from maintainer  	David Woodhouse <dwmw2@infradead.org>)
       From:  Sam Ravnborg <sam@ravnborg.org>
      
        From:  <l.s.r@web.de>
        >   since the code for Linux 2.4 compatibility in fs/jffs2 is gone, we can
        >   clean up the Makefile a bit. Following patch makes the Makefile
        >   compatible with Linux 2.7 instead . :) Please consider applying.
      
        If we are going to clean up this I prefer we get rid of the
        local variables.
        See attached patch.
      
        	Sam
      bea69dca
    • Andrew Morton's avatar
      [PATCH] trivial: fix /proc documentation lies about file-nr · a5849316
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  Tommi Virtanen <tv@tv.debian.net>
      a5849316
    • Andrew Morton's avatar
      [PATCH] trivial: Fix #endif comment in linux_moduleparam.h · f1474fba
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  Pavel Machek <pavel@ucw.cz>
      
      If we are providing "helpful" comment, it should better be correct.
      f1474fba
    • Andrew Morton's avatar
      [PATCH] trivial: MAINTAINERS fbdev - web site change · 5f6ee5e1
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  David Eger <eger@theboonies.us>
      
      Doesn't resolve.
      5f6ee5e1
    • Andrew Morton's avatar
      [PATCH] trivial: fix old URLs in initrd doc · cdae9df5
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  Marco Cova <marco.cova@studio.unibo.it>
      cdae9df5
    • Andrew Morton's avatar
      [PATCH] trivial: add parantheses for if (necessary for cross-compilation) · b9175675
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  Martin Schaffner <schaffner@gmx.li>
      b9175675
    • Andrew Morton's avatar
      [PATCH] trivial: scripts_kernel-doc should strip comments inside structs' · 2d7010fe
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  <adobriyan@mail.ru>
      
        Long block comment before declaration moves it out of page in pdfs.
      
        Alexey
      
        $ ./linux-2.6.6-rc2/scripts/kernel-doc.orig -text test.c
        struct stuff:
        struct stuff {
                int a;
                /** comment here*/char b;
        };
        Members:
        a
                 aaaa
        b
                 bbbbb
        Description:
        stuff
      
        $ ./linux-2.6.6-rc2/scripts/kernel-doc -text test.c
        struct stuff:
        struct stuff {
                int a;
                char b;
        };
        Members:
        a
                 aaaa
        b
                 bbbbb
        Description:
        stuff
      2d7010fe
    • Andrew Morton's avatar
      [PATCH] trivial: Fix name of biovec slab · d6e56fb2
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      From:  "Chen, Kenneth W" <kenneth.w.chen@intel.com>
      
      Pure cosmetic.  Largest biovec slab is printed as biovec-BIO_MAX_PAGES in
      /proc/slabinfo.  It would be more informative to print actual number instead
      of macro's name.
      d6e56fb2
    • Andrew Morton's avatar
      [PATCH] cleanup double semicolons · 6a8729ec
      Andrew Morton authored
      From: Nuno Monteiro <nuno@itsari.org>
      
      Remove lots of double-semicolons.
      6a8729ec
    • Andrew Morton's avatar
      [PATCH] Fix NFSD oops in readdir · 2907430d
      Andrew Morton authored
      From: Neil Brown <neilb@cse.unsw.edu.au>
      
      If a single readdir entry needs to be split over two pages in the reply, we
      first encode it into a new page, and then copy the bits into place.  When
      we do this relocation, we have to modify the "offset" pointer to be either
      in the first or the second page, as appropriate.
      
      If the pointer should be at the start of the second page, it is currently
      put past the end of the first page.
      
      Note that as the offset and whole response is known to be 4byte-aligned,
      the offset pointer will never be split over two pages.
      2907430d
    • Andrew Morton's avatar
      [PATCH] fbmem: rename sys_inbuf() and sys_outbuf() · c9bb1e5d
      Andrew Morton authored
      From: David Mosberger <davidm@napali.hpl.hp.com>
      
      These aren't syscalls, so rename them.  And make them static.
      c9bb1e5d
    • Andrew Morton's avatar
      [PATCH] getblk() BUG removal · bd105032
      Andrew Morton authored
      We keep on getting BUG()s from isofs_read_super() because it passes an insane
      blocksize to bread().  See http://bugme.osdl.org/show_bug.cgi?id=2735 for
      example.
      
      I don't know what's up with isofs, but going BUG in there seems a bit rude.
      Change it to drop a bunch of diagnostics and a backtrace then return a null
      bh*.
      
      Most callers of getblk() don't expect it to fail, so they'll oops anyway.  But
      isofs does actually check for a NULL return.  This way, the machine stays up
      and we get better debug diagnostics.
      bd105032
    • Andrew Morton's avatar
      [PATCH] Debugging option to put data symbols in kallsyms · 83804118
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      kallsyms contains only function names, but some debuggers (eg.  xmon on
      PPC/PPC64) use it to lookup symbols: it'd be much nicer if it included data
      symbols too.
      83804118
    • Andrew Morton's avatar
      [PATCH] ramdisk: separate the blockdev backing_dev_info from the hosted inodes' · c83cd783
      Andrew Morton authored
      Give appropriate and separate backing_dev_info's to both the ramdisk blockdev
      inode and to the files which live atop the ramdisk.
      
      Everything works now.
      c83cd783
    • Andrew Morton's avatar
      [PATCH] ramdisk: implement writepages() · ef70d82a
      Andrew Morton authored
      Implement an empty ->writepages() so that attempts to write back ramdisk pages
      have less work to do.
      ef70d82a
    • Andrew Morton's avatar
      [PATCH] ramdisk: fix PageUptodate() handling · bf1570fe
      Andrew Morton authored
      When a filesystem does getblk() to get a buffer_head against the ramdisk the
      VFS will allocate a new not-uptodate pagecache page and will attach buffers to
      it.
      
      The filesystem will then bring certain buffer_heads uptodate.  But not the
      whole page.
      
      Later, various ramdisk a_ops see the not-uptodate page and wipe the whole
      thing out, including the parts to which the filesystem wrote!
      
      Fix that up by only zapping those parts of the page which are covered by
      non-uptodate buffers.
      bf1570fe
    • Andrew Morton's avatar
      [PATCH] ramdisk: use kmap_atomic() in rd_blkdev_pagecache_IO() · 5e86fee4
      Andrew Morton authored
      We don't actualy need to kmap the blockdev inode's pages at all, because
      they're ~__GFP_HIGHMEM.  But it's future-safe, and cheap.
      5e86fee4
    • Andrew Morton's avatar
      [PATCH] ramdisk: lock blockdev pages during "IO". · f8cc9647
      Andrew Morton authored
      There's a race: one CPU writes a 1k block into a ramdisk page which isn't in
      the blockdev pagecache yet.  It memsets the locked page to zeroes.
      
      While this is happening, another CPU comes in and tries to write a different
      1k block to the "disk".  But it doesn't lock the page so it races with the
      memset and can have its data scribbled over.
      
      Fix this up by locking the page even if it already existed in pagecache.
      
      Locking a pagecache page in a make_request_fn sounds deadlocky but it is not,
      because:
      
      a) ramdisk_writepage() does nothing but a set_bit(), and cannot recur onto
         the same page.
      
      b) Any higher-level code which holds a page lock is supposed to be
         allocating its memory with GFP_NOFS, and in 2.6 kernels that's equivalent
         to GFP_NOIO.
      
         (The distinction between GFP_NOIO and GFP_NOFS basically disappeared
         with the buffer_head LRU, although it was reused for writes to swap).
      f8cc9647
    • Andrew Morton's avatar
      [PATCH] ramdisk memory allocation fixes · 5be8e6a2
      Andrew Morton authored
      Allocating pagecache pages within the disk request_fn is deadlocky and prone
      to page allocation failures, causing write I/O errors.
      
      Attempt to improve things by fiddling with gfp masks.
      5be8e6a2
    • Andrew Morton's avatar
      [PATCH] ramdisk fixes · a16539ba
      Andrew Morton authored
      - Remove the ramdisk special-case in fs-writeback.c - it will soon be
        unneeded.
      
      - Fix rd_ioctl() to return -ENOTTY on invalid ioctl types, not -EINVAL.
      
      - Make ramdisk Kconfig friendlier.
      a16539ba
    • Andrew Morton's avatar
      [PATCH] ppc64: make enter_rtas() take unsigned long arg · c8dcfa85
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      We declare enter_rtas with a struct rtas_args * argument, though it is
      supposed to be a physical address, and then every time we call it we cast the
      unsigned long result from __pa() to a void *.  This patch changes the
      declaration of enter_rtas to make it take an unsigned long argument, and
      removes the cast from all the callers.  The actual enter_rtas() routine is in
      assembler and doesn't need to be changed.
      c8dcfa85
    • Andrew Morton's avatar
      [PATCH] ppc64: trivial cleanup · 3897e867
      Andrew Morton authored
      From: David Gibson <david@gibson.dropbear.id.au>
      
      The ppc64 head.S contains an enable_32b_mode function which is used
      nowhere.  This patch removes it.
      3897e867