27 Jul, 2008

2 commits

  • * kill nameidata * argument; map the 3 bits in ->flags anybody cares
    about to new MAY_... ones and pass with the mask.
    * kill redundant gfs2_iop_permission()
    * sanitize ecryptfs_permission()
    * fix remaining places where ->permission() instances might barf on new
    MAY_... found in mask.

    The obvious next target in that direction is permission(9)

    folded fix for nfs_permission() breakage from Miklos Szeredi

    Signed-off-by: Al Viro

    Al Viro
     
  • Kmem cache passed to constructor is only needed for constructors that are
    themselves multiplexeres. Nobody uses this "feature", nor does anybody uses
    passed kmem cache in non-trivial way, so pass only pointer to object.

    Non-trivial places are:
    arch/powerpc/mm/init_64.c
    arch/powerpc/mm/hugetlbpage.c

    This is flag day, yes.

    Signed-off-by: Alexey Dobriyan
    Acked-by: Pekka Enberg
    Acked-by: Christoph Lameter
    Cc: Jon Tollefson
    Cc: Nick Piggin
    Cc: Matt Mackall
    [akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]
    [akpm@linux-foundation.org: fix mm/slab.c]
    [akpm@linux-foundation.org: fix ubifs]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

18 Jul, 2008

3 commits

  • The configfs operations ->make_item() and ->make_group() currently
    return a new item/group. A return of NULL signifies an error. Because
    of this, -ENOMEM is the only return code bubbled up the stack.

    Multiple folks have requested the ability to return specific error codes
    when these operations fail. This patch adds that ability by changing the
    ->make_item/group() ops to return ERR_PTR() values. These errors are
    bubbled up appropriately. NULL returns are changed to -ENOMEM for
    compatibility.

    Also updated are the in-kernel users of configfs.

    This is a rework of reverted commit 11c3b79218390a139f2d474ee1e983a672d5839a.

    Signed-off-by: Joel Becker

    Joel Becker
     
  • This reverts commit 11c3b79218390a139f2d474ee1e983a672d5839a. The code
    will move to PTR_ERR().

    Signed-off-by: Joel Becker

    Joel Becker
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
    [PATCH] ocfs2: fix oops in mmap_truncate testing
    configfs: call drop_link() to cleanup after create_link() failure
    configfs: Allow ->make_item() and ->make_group() to return detailed errors.
    configfs: Fix failing mkdir() making racing rmdir() fail
    configfs: Fix deadlock with racing rmdir() and rename()
    configfs: Make configfs_new_dirent() return error code instead of NULL
    configfs: Protect configfs_dirent s_links list mutations
    configfs: Introduce configfs_dirent_lock
    ocfs2: Don't snprintf() without a format.
    ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs
    ocfs2/net: Silence build warnings on sparc64
    ocfs2: Handle error during journal load
    ocfs2: Silence an error message in ocfs2_file_aio_read()
    ocfs2: use simple_read_from_buffer()
    ocfs2: fix printk format warnings with OCFS2_FS_STATS=n
    [PATCH 2/2] ocfs2: Instrument fs cluster locks
    [PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option

    Linus Torvalds
     

17 Jul, 2008

1 commit

  • This patch fixes a mmap_truncate bug which was found by ocfs2 test suite.

    In an ocfs2 cluster more than 1 node, run program mmap_truncate, which races
    mmap writes and truncates from multiple processes. While the test is
    running, a stat from another node forces writeout, causing an oops in
    ocfs2_get_block() because it sees a buffer to write which isn't allocated.

    This patch fixed the bug by clear dirty and uptodate bits in buffer, leave
    the buffer unmapped and return.

    Fix is suggested by Mark Fasheh, and I code up the patch.

    Signed-off-by: Coly Li
    Signed-off-by: Mark Fasheh

    Coly Li
     

15 Jul, 2008

10 commits

  • Jonathan Corbet
     
  • The configfs operations ->make_item() and ->make_group() currently
    return a new item/group. A return of NULL signifies an error. Because
    of this, -ENOMEM is the only return code bubbled up the stack.

    Multiple folks have requested the ability to return specific error codes
    when these operations fail. This patch adds that ability by changing the
    ->make_item/group() ops to return an int.

    Also updated are the in-kernel users of configfs.

    Signed-off-by: Joel Becker

    Joel Becker
     
  • Some system files are per-slot. Their names include the slot number.
    ocfs2_sprintf_system_inode_name() uses the system inode definitions to
    fill in the slot number with snprintf().

    For global system files, there is no node number, and the name was
    printed as a format with no arguments. -Wformat-nonliteral and
    -Wformat-security don't like this. Instead, use a static "%s" format
    and the name as the argument.

    Signed-off-by: Joel Becker

    Joel Becker
     
  • A couple places use OCFS2_DEBUG_FS where they really mean
    CONFIG_OCFS2_DEBUG_FS.

    Reported-by: Robert P. J. Day
    Signed-off-by: Joel Becker

    Joel Becker
     
  • suseconds_t is type long on most arches except sparc64 where it is type int.
    This patch silences the following warnings that are generated when building
    on it.

    netdebug.c: In function 'nst_seq_show':
    netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 13 has type 'suseconds_t'
    netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 15 has type 'suseconds_t'
    netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 17 has type 'suseconds_t'
    netdebug.c: In function 'sc_seq_show':
    netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 19 has type 'suseconds_t'
    netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 21 has type 'suseconds_t'
    netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 23 has type 'suseconds_t'
    netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 25 has type 'suseconds_t'
    netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 27 has type 'suseconds_t'
    netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 29 has type 'suseconds_t'

    Signed-off-by: Sunil Mushran
    Signed-off-by: Mark Fasheh

    Sunil Mushran
     
  • This patch ensures the mount fails if the fs is unable to load the journal.

    Signed-off-by: Wengang Wang
    Acked-by: Sunil Mushran
    Signed-off-by: Mark Fasheh

    Wengang Wang
     
  • This patch silences an EINVAL error message in ocfs2_file_aio_read()
    that is always due to a user error.

    Signed-off-by: Sunil Mushran
    Signed-off-by: Mark Fasheh

    Sunil Mushran
     
  • Signed-off-by: Akinobu Mita
    Acked-by: Joel Becker
    Signed-off-by: Andrew Morton
    Signed-off-by: Mark Fasheh

    Akinobu Mita
     
  • Fix printk format warnings when OCFS2_FS_STATS=n:

    linux-next-20080528/fs/ocfs2/dlmglue.c: In function 'ocfs2_dlm_seq_show':
    linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'int'
    linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 4 has type 'int'
    linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 7 has type 'int'
    linux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format '%llu' expects type 'long long unsigned int', but argument 8 has type 'int'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Mark Fasheh

    Randy Dunlap
     
  • This patch adds code to track the number of times the fs takes
    various cluster locks as well as the times associated with it.
    The information is made available to users via debugfs.

    This patch was originally written by Jan Kara .

    Signed-off-by: Sunil Mushran
    Signed-off-by: Mark Fasheh

    Sunil Mushran
     

11 Jul, 2008

1 commit

  • The stack-glue merge changed the way we use flags in dlmglue in that we now
    use the fs/dlm equivalents. Unfortunately, a merge error left the new flock
    code only partially updated. This took a while to show up though, because
    the lock level constants are actually identical between o2dlm and fs/dlm.
    The *_CONVERT and *_NOQUEUE flags have different values though, which is
    eventually causing a crash in flags_to_o2dlm().

    Signed-off-by: Mark Fasheh

    Mark Fasheh
     

08 Jul, 2008

1 commit


03 Jul, 2008

1 commit


17 Jun, 2008

3 commits


31 May, 2008

4 commits


22 May, 2008

1 commit


01 May, 2008

6 commits


30 Apr, 2008

1 commit

  • Add a new BDI capability flag: BDI_CAP_NO_ACCT_WB. If this flag is
    set, then don't update the per-bdi writeback stats from
    test_set_page_writeback() and test_clear_page_writeback().

    Misc cleanups:

    - convert bdi_cap_writeback_dirty() and friends to static inline functions
    - create a flag that includes all three dirty/writeback related flags,
    since almst all users will want to have them toghether

    Signed-off-by: Miklos Szeredi
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     

19 Apr, 2008

1 commit


18 Apr, 2008

5 commits

  • This patch exposes o2net information via debugfs. The information includes
    the list of sockets (sock_containers) as well as the list of outstanding
    messages (send_tracking). Useful for o2dlm debugging.

    (This patch is derived from an earlier one written by Zach Brown that
    exposed the same information via /proc.)

    [Mark: checkpatch fixes]

    Signed-off-by: Sunil Mushran
    Reviewed-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Sunil Mushran
     
  • fs/ocfs2/dlm/ocfs2_dlm.ko and fs/ocfs2/dlm/ocfs2_dlmfs.ko get built if
    CONFIG_FS_OCFS2 is specified. This isn't quite how it should happen any more
    - the "o2cb" dlm modules should only be built if CONFIG_FS_OCFS2_O2CB is
    set, so update the dlm Makefile accordingly.

    Signed-off-by: Mark Fasheh
    Acked-by: Randy Dunlap
    Acked-by: Joel Becker

    Mark Fasheh
     
  • We keep seeing bug reports related to NULL pointer derefs in
    o2net_set_nn_state(). When I originally wrote up the configurable timeout
    patch, I had tried to plan for multiple clusters. This was silly.

    The timeout routines all use o2nm_single_cluster so there's no point in
    passing an argument at all. This patch removes the arguments and kills those
    bugs dead.

    Signed-off-by: Jeff Mahoney
    Signed-off-by: Mark Fasheh

    Jeff Mahoney
     
  • if (...) BUG(); should be replaced with BUG_ON(...) when the test has no
    side-effects to allow a definition of BUG_ON that drops the code completely.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @ disable unlikely @ expression E,f; @@

    (
    if () { BUG(); }
    |
    - if (unlikely(E)) { BUG(); }
    + BUG_ON(E);
    )

    @@ expression E,f; @@

    (
    if () { BUG(); }
    |
    - if (E) { BUG(); }
    + BUG_ON(E);
    )
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Andrew Morton
    Signed-off-by: Mark Fasheh

    Julia Lawall
     
  • As far as I can see there is nothing in ocfs2_ioctl that requires the BKL,
    so use unlocked_ioctl

    Signed-off-by: Andi Kleen
    Signed-off-by: Mark Fasheh

    Andi Kleen