15 Jan, 2011

1 commit

  • flush_scheduled_work() is going away. afs needs to make sure all the
    works it has queued have finished before being unloaded and there can
    be arbitrary number of pending works. Add afs_wq and use it as the
    flush domain instead of the system workqueue.

    Also, convert cancel_delayed_work() + flush_scheduled_work() to
    cancel_delayed_work_sync() in afs_mntpt_kill_timer().

    Signed-off-by: Tejun Heo
    Signed-off-by: David Howells
    Cc: linux-afs@lists.infradead.org
    Signed-off-by: Linus Torvalds

    Tejun Heo
     

08 Aug, 2010

1 commit

  • Fix the module init error handling. There are a bunch of goto labels for
    aborting the init procedure at different points and just undoing what needs
    undoing - they aren't all in the right places, however.

    This can lead to an oops like the following:

    BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
    IP: [] destroy_workqueue+0x17/0xc0
    ...
    Modules linked in: kafs(+) dns_resolver rxkad af_rxrpc fscache

    Pid: 2171, comm: insmod Not tainted 2.6.35-cachefs+ #319 DG965RY/
    ...
    Process insmod (pid: 2171, threadinfo ffff88003ca6a000, task ffff88003dcc3050)
    ...
    Call Trace:
    [] afs_callback_update_kill+0x10/0x12 [kafs]
    [] afs_init+0x190/0x1ce [kafs]
    [] ? afs_init+0x0/0x1ce [kafs]
    [] do_one_initcall+0x59/0x14e
    [] sys_init_module+0x9c/0x1de
    [] system_call_fastpath+0x16/0x1b

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

    David Howells
     

03 Apr, 2009

1 commit

  • The attached patch makes the kAFS filesystem in fs/afs/ use FS-Cache, and
    through it any attached caches. The kAFS filesystem will use caching
    automatically if it's available.

    Signed-off-by: David Howells
    Acked-by: Steve Dickson
    Acked-by: Trond Myklebust
    Acked-by: Al Viro
    Tested-by: Daire Byrne

    David Howells
     

16 Apr, 2008

1 commit


17 Jul, 2007

1 commit


22 May, 2007

1 commit

  • First thing mm.h does is including sched.h solely for can_do_mlock() inline
    function which has "current" dereference inside. By dealing with can_do_mlock()
    mm.h can be detached from sched.h which is good. See below, why.

    This patch
    a) removes unconditional inclusion of sched.h from mm.h
    b) makes can_do_mlock() normal function in mm/mlock.c
    c) exports can_do_mlock() to not break compilation
    d) adds sched.h inclusions back to files that were getting it indirectly.
    e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
    getting them indirectly

    Net result is:
    a) mm.h users would get less code to open, read, preprocess, parse, ... if
    they don't need sched.h
    b) sched.h stops being dependency for significant number of files:
    on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
    after patch it's only 3744 (-8.3%).

    Cross-compile tested on

    all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
    alpha alpha-up
    arm
    i386 i386-up i386-defconfig i386-allnoconfig
    ia64 ia64-up
    m68k
    mips
    parisc parisc-up
    powerpc powerpc-up
    s390 s390-up
    sparc sparc-up
    sparc64 sparc64-up
    um-x86_64
    x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

    as well as my two usual configs.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

10 May, 2007

1 commit

  • Make some miscellaneous changes to the AFS filesystem:

    (1) Assert RCU barriers on module exit to make sure RCU has finished with
    callbacks in this module.

    (2) Correctly handle the AFS server returning a zero-length read.

    (3) Split out data zapping calls into one function (afs_zap_data).

    (4) Rename some afs_file_*() functions to afs_*() where they apply to
    non-regular files too.

    (5) Be consistent about the presentation of volume ID:vnode ID in debugging
    output.

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

    David Howells
     

03 May, 2007

1 commit

  • Adjust the new netdevice scanning code provided by Patrick McHardy:

    (1) Restore the function banner comments that were dropped.

    (2) Rather than using an array size of 6 in some places and an array size of
    ETH_ALEN in others, pass a pointer instead and pass the array size
    through so that we can actually check it.

    (3) Do the buffer fill count check before checking the for_primary_ifa
    condition again. This permits us to skip that check should maxbufs be
    reached before we run out of interfaces.

    Signed-off-by: David Howells
    Signed-off-by: David S. Miller

    David Howells
     

27 Apr, 2007

3 commits

  • Add support for the CB.GetCapabilities operation with which the fileserver can
    ask the client for the following information:

    (1) The list of network interfaces it has available as IPv4 address + netmask
    plus the MTUs.

    (2) The client's UUID.

    (3) The extended capabilities of the client, for which the only current one
    is unified error mapping (abort code interpretation).

    To support this, the patch adds the following routines to AFS:

    (1) A function to iterate through all the network interfaces using RTNETLINK
    to extract IPv4 addresses and MTUs.

    (2) A function to iterate through all the network interfaces using RTNETLINK
    to pull out the MAC address of the lowest index interface to use in UUID
    construction.

    Signed-off-by: David Howells
    Signed-off-by: David S. Miller

    David Howells
     
  • Make the in-kernel AFS filesystem use AF_RXRPC instead of the old RxRPC code.

    Signed-off-by: David Howells
    Signed-off-by: David S. Miller

    David Howells
     
  • Clean up the AFS sources.

    Also remove references to AFS keys. RxRPC keys are used instead.

    Signed-off-by: David Howells
    Signed-off-by: David S. Miller

    David Howells
     

15 Feb, 2007

1 commit

  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds