- 21 May, 2004 40 commits
-
-
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
-
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.
-
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.
-
Yoshinori Sato authored
- add module support code - add H8/300 ELF infomation - fix kcore ELF format
-
Yoshinori Sato authored
- new config items - interface setup - io cleanup
-
Yoshinori Sato authored
- config symbol fix
-
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
-
Andrew Morton authored
From: Andrea Arcangeli <andrea@suse.de> this fixes the 2G limit on ramfs
-
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.
-
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 :-/.
-
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).
-
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.
-
Andrew Morton authored
A few things which Lindent got wrong.
-
Andrew Morton authored
-
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.
-
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().
-
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.
-
Andrew Morton authored
From: Rusty Russell <rusty@rustcorp.com.au> From: a.othieno@bluewin.ch (Arthur Othieno)
-
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
-
Andrew Morton authored
From: Rusty Russell <rusty@rustcorp.com.au> From: Tommi Virtanen <tv@tv.debian.net>
-
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.
-
Andrew Morton authored
From: Rusty Russell <rusty@rustcorp.com.au> From: David Eger <eger@theboonies.us> Doesn't resolve.
-
Andrew Morton authored
From: Rusty Russell <rusty@rustcorp.com.au> From: Marco Cova <marco.cova@studio.unibo.it>
-
Andrew Morton authored
From: Rusty Russell <rusty@rustcorp.com.au> From: Martin Schaffner <schaffner@gmx.li>
-
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
-
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.
-
Andrew Morton authored
From: Nuno Monteiro <nuno@itsari.org> Remove lots of double-semicolons.
-
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.
-
Andrew Morton authored
From: David Mosberger <davidm@napali.hpl.hp.com> These aren't syscalls, so rename them. And make them static.
-
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.
-
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.
-
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.
-
Andrew Morton authored
Implement an empty ->writepages() so that attempts to write back ramdisk pages have less work to do.
-
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.
-
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.
-
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).
-
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.
-
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.
-
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.
-
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.
-