26 Mar, 2006

40 commits

  • There were a number of conflicting naming schemes used in the v9fs project.
    The directory was fs/9p, but MAINTAINERS and Documentation referred to
    v9fs. The module name itself was 9p2000, and the file system type was 9P.
    This patch attempts to clean that up, changing all references to 9p in
    order to match the directory name. We'll also start using 9p instead of
    v9fs as our patch prefix.

    There is also a minor consistency cleanup in the options changing the name
    option to uname in order to more closely match the Plan 9 options.

    Signed-off-by: Eric Van Hensbergevan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Van Hensbergen
     
  • Update license boilerplate to specify GPLv2 and remove the (at your option
    clause). This change was agreed to by all the copyright holders (approvals
    can be found on v9fs-developer mailing list).

    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Van Hensbergen
     
  • __getname, which in turn will call kmem_cache_alloc, may return NULL.

    Coverity bug #977

    Signed-off-by: Eugene Teo
    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eugene Teo
     
  • Implement a new way of creating special files. Instead of Tcreate+Twstat,
    add one more field to Tcreate that contains special file description.

    Signed-off-by: Latchesar Ionkov
    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Latchesar Ionkov
     
  • Print 9p messages.

    Signed-off-by: Latchesar Ionkov
    Cc: Eric Van Hensbergen
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Latchesar Ionkov
     
  • The code talks about these things called tids, which I eventually figured
    out are tags.

    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russ Cox
     
  • Here is a new trans_fd.c that replaces the current trans_fd.c and
    trans_sock.c.

    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russ Cox
     
  • The Kconfig text for CONFIG_DEBUG_SLAB and CONFIG_DEBUG_PAGEALLOC have always
    seemed a bit confusing. Change them to:

    CONFIG_DEBUG_SLAB: "Debug slab memory allocations"
    CONFIG_DEBUG_PAGEALLOC: "Debug page memory allocations"

    Cc: "David S. Miller"
    Cc: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Remove the assumption that driver_register() returns the number of devices
    bound to the driver. In fact, it returns zero for success or a negative
    error value.

    zorro_module_init() used the device count to automatically unregister and
    unload drivers that found no devices. That might have worked at one time,
    but has been broken for some time because zorro_register_driver() returned
    either a negative error or a positive count (never zero). So it could only
    unregister on failure, when it's not needed anyway.

    This functionality could be resurrected in individual drivers by counting
    devices in their .probe() methods.

    Signed-off-by: Bjorn Helgaas
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Remove the assumption that driver_register() returns the number of devices
    bound to the driver. In fact, it returns zero for success or a negative
    error value.

    Signed-off-by: Bjorn Helgaas
    Acked-by: Jeff Garzik
    Acked-by: Marc Zyngier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Remove the assumption that driver_register() returns the number of devices
    bound to the driver. In fact, it returns zero for success or a negative
    error value.

    dio_module_init() used the device count to automatically unregister and
    unload drivers that found no devices. That might have worked at one time,
    but has been broken for some time because dio_register_driver() returned
    either a negative error or a positive count (never zero). So it could only
    unregister on failure, when it's not needed anyway.

    This functionality could be resurrected in individual drivers by counting
    devices in their .probe() methods.

    Signed-off-by: Bjorn Helgaas
    Cc: Philip Blundell
    Cc: Jochen Friedrich
    Cc: "Antonino A. Daplas"
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Use the new balance_dirty_pages_ratelimited_nr in reiserfs "largeio" file
    write.

    Signed-off-by: Hans Reiser
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Zarochentsev
     
  • We presently ignore the return values from initcalls. But that can carry
    useful debugging information. So print it out if it's non-zero.

    It turns out the -ENODEV happens quite a lot, due to built-in drivers which
    have no hardware to drive. So suppress that unless initcall_debug was
    specified.

    Also make the warning message more friendly by printing the name of the
    initcall function.

    Also drop the KERN_DEBUG from the initcall_debug message. If we specified
    inticall_debug then we obviously want to see the messages.

    Acked-by: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Clean up several places where gcc issues warnings when -W is specified.
    Thanks to Neil for finding that.

    Signed-off-by: Vladimir V. Saveliev
    Cc: Neil Brown
    Signed-off-by: Hans Reiser
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir V. Saveliev
     
  • Today I wondered about /dev/parport after not seeing anything in
    drivers/parport register char-major-99. Having PP_MAJOR in
    include/linux/major.h would've allowed me to more quickly determine that it
    was the ppdev driver driving these.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rene Herman
     
  • In latest -mm a number of section mismatch warnings are generated for
    floppy.o like the following:

    WARNING: drivers/block/floppy.o - Section mismatch: reference to \
    .init.data: from .text between 'init_module' (at offset 0x6976) and \
    'cleanup_module'

    The warning are caused by a reference to floppy_init() which is __init from
    init_module() which is not declared __init. Declaring init_module() _init
    fixes this.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • In latest -mm ide-code.o gave a number of warnings like the following:

    WARNING: drivers/ide/ide-core.o - Section mismatch: reference to \
    .init.text: from .text between 'init_module' (at offset 0x1f97) and \
    'cleanup_module'

    The warning was caused by init_module() calling parse_option() and
    ide_init() both declared __init.

    Declaring init_module() __init fixes the warnings.

    Signed-off-by: Sam Ravnborg
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • Previous inotify work avoidance is good when inotify is completely unused,
    but it breaks down if even a single watch is in place anywhere in the
    system. Robin Holt notices that udev is one such culprit - it slows down a
    512-thread application on a 512 CPU system from 6 seconds to 22 minutes.

    Solve this by adding a flag in the dentry that tells inotify whether or not
    its parent inode has a watch on it. Event queueing to parent will skip
    taking locks if this flag is cleared. Setting and clearing of this flag on
    all child dentries versus event delivery: this is no in terms of race
    cases, and that was shown to be equivalent to always performing the check.

    The essential behaviour is that activity occuring _after_ a watch has been
    added and _before_ it has been removed, will generate events.

    Signed-off-by: Nick Piggin
    Cc: Robert Love
    Cc: John McCutchan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • sysrq.c is fairly revolting. Fix.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • net/rxrpc/main.c: In function `rxrpc_initialise':
    net/rxrpc/main.c:83: warning: label `error_proc' defined but not used

    Signed-off-by: Jesper Juhl
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • Some BIOSes do not always set CF on error before return from int13. The
    patch adds additional check for status being zero (AH == 0).

    Signed-off-by: Andrey Borzenkov
    Cc: Matt Domsch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Borzenkov
     
  • param_array() in kernel/params.c can now become static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • MODULE_PARM was actually breaking: recent gcc version optimize them out as
    unused. It's time to replace the last users, which are generally in the
    most unloved drivers anyway.

    Signed-off-by: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rusty Russell
     
  • hysdn defines its own types: ulong, uint, uchar and word.

    Problem is, the module_param macros rely upon some of those identifiers having
    special meanings too. The net effect is that module_param() and friends
    cannot be used in ISDN because of this namespace clash.

    So remove the hysdn-private defines and open-code them all.

    Cc: Karsten Keil
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • If we can detect a problem at compile time, the compilation should fail.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Add a couple of 'const' qualifiers to the TTY flip buffer APIs, where
    appropriate.

    Signed-off-by: Thomas Koeller
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Koeller
     
  • drivers/isdn/i4l/isdn_ppp.c:785: warning: ignoring return value of `copy_to_user', declared with attribute warn_unused_result

    Signed-off-by: Jesper Juhl
    Signed-off-by: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     
  • I think it would be nice to put an usage warning in header of
    lookup_instantiate_filp() to indicate it is unsafe to use it on anything
    but regular files (even that is potentially unsafe, but there your ->open()
    is usually in your hands anyway), so that others won't fall into the same
    trap I did.

    Signed-off-by: Oleg Drokin
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Drokin
     
  • Introduce FMODE_EXEC file flag, to indicate that file is being opened for
    execution. This is useful for distributed filesystems to maintain
    consistent behavior for returning ETXTBUSY when opening for write and
    execution happens on different nodes.

    akpm:

    Needed by Lustre at present. I assume their objective to to work towards
    being able to install Lustre on an unmodified distro kernel, which seems
    sane. It should have zero runtime cost.

    Trond and Chuck indicate that NFS4 can probably use this too, for the same
    thing.

    Steven says it's also on the GFS todo list.

    Signed-off-by: Oleg Drokin
    Cc: Trond Myklebust
    Cc: Chuck Lever
    Cc: Steven Whitehouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Drokin
     
  • When an error occurs in reiserfs_file_write before any data is written, and
    O_SYNC is set, the return code of generic_osync_write will overwrite the
    error code, losing it.

    This patch ensures that generic_osync_inode() doesn't run under an error
    condition, losing the error. This duplicates the logic from
    generic_file_buffered_write().

    Signed-off-by: Jeff Mahoney
    Cc: Chris Mason
    Cc: Jeff Mahoney
    Cc: Alexander Zarochentsev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Mahoney
     
  • Reiserfs does not handle transaction ID overflow correctly. Transaction ID
    == 0 causes reiserfs to crash. The patch fixes all places where the
    transaction ID is incremented.

    Signed-off-by: Alexander Zarochentsev
    Signed-off-by: Hans Reiser
    Cc: Chris Mason
    Cc: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Zarochentsev
     
  • This patch fixes a bug in reiserfs truncate. A transaction might overflow
    when truncating long highly fragmented file. The fix is to split
    truncation into several transactions to avoid overflowing.

    Signed-off-by: Vladimir V. Saveliev
    Cc; Charles McColgan
    Cc: Alexander Zarochentsev
    Cc: Hans Reiser
    Cc: Chris Mason
    Cc: Jeff Mahoney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Zarochentzev
     
  • There's no reason for iprune_mutex being global.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Remove unused quota flag.

    Signed-off-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • It seems there is error check missing in open_namei for errors returned
    through intent.open.file (from lookup_instantiate_filp).

    If there is plain open performed, then such a check done inside
    __path_lookup_intent_open called from path_lookup_open(), but when the open
    is performed with O_CREAT flag set, then __path_lookup_intent_open is only
    called with LOOKUP_PARENT set where no file opening can occur yet.

    Later on lookup_hash is called where exact opening might take place and
    intent.open.file may be filled. If it is filled with error value of some
    sort, then we get kernel attempting to dereference this error value as
    address (and corresponding oops) in nameidata_to_filp() called from
    filp_open().

    While this is relatively simple to workaround in ->lookup() method by just
    checking lookup_instantiate_filp() return value and returning error as
    needed, this is not so easy in ->d_revalidate(), where we can only return
    "yes, dentry is valid" or "no, dentry is invalid, perform full lookup
    again", and just returning 0 on error would cause extra lookup (with
    potential extra costly RPCs).

    So in short, I believe that there should be no difference in error handling
    for opening a file and creating a file in open_namei() and propose this
    simple patch as a solution.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Drokin
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The kjournald timer is currently on the kernel thread's stack and the journal
    structure points at it. Save a pointer hop by moving the timer into the
    journal structure.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Cause an attempt to add a duplicate non-updateable key (such as a keyring) to
    a keyring to discard the extant copy in favour of the new one rather than
    failing with EEXIST:

    # do the test in an empty session
    keyctl session
    # create a new keyring called "a" and attach to session
    keyctl newring a @s
    # create another new keyring called "a" and attach to session,
    # displacing the keyring added by the second command:
    keyctl newring a @s

    Without this patch, the third command will fail.

    For updateable keys (such as those of "user" type), the update method will
    still be called rather than a new key being created.

    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Make key quota detection generate an error if either quota is exceeded rather
    than only if both quotas are exceeded.

    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • DEBUG_PAGEALLOC is not compatible with hugetlb page support. That debug
    option turns off PSE. Once it is turned off in CR4, the cpu will ignore
    pse bit in the pmd and causing infinite page-not- present faults.

    So disable DEBUG_PAGEALLOC if the user selected hugetlbfs.

    Signed-off-by: Ken Chen
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen, Kenneth W