[Ocfs2-commits] branch, master, updated. ocfs2-1.4.0-73-g59d74fa

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Fri Nov 21 15:22:29 PST 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The ocfs2 filesystem version 1.4".

The branch, master has been updated
       via  59d74fa97139f21aeb4d6773a11d0cb9fec33070 (commit)
       via  6ad54f60cad35a1ccab6ebed19946ed357fa25a3 (commit)
       via  e8ae776418c375774e404c07e8624f95571d047b (commit)
       via  5638bfe6977e5fa70f6e9ca2c52c749e3793cee1 (commit)
       via  ab1ebebab5f6df8a56fb7debbccc17ed0df055b7 (commit)
       via  5a616a65035b2260fbf60fa2256f0d50d2146ab3 (commit)
       via  5aae41bf74fd253323c0671c4ecbcd689c08f9b2 (commit)
       via  151c5cb44243793efe05c4460448b847bcd427f9 (commit)
       via  19bdc3eabac8ac89b11e80b983ff329ab4973dec (commit)
       via  5a696a17613b6edbd8f08ffc5719bc60ac9bf7f5 (commit)
       via  e4c92d0293fb1195d1a632ce23160f58e32f4e72 (commit)
      from  fdfc00010a11616dd35f8847b805187c5f514385 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 59d74fa97139f21aeb4d6773a11d0cb9fec33070
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Wed Oct 29 17:40:46 2008 -0700

    ocfs2: Don't check for NULL before brelse()
    
    Mainline commit a81cb88b64a479b78c6dd5666678d50171865db8
    
    This is pointless as brelse() already does the check.
    
    Signed-off-by: Mark Fasheh

commit 6ad54f60cad35a1ccab6ebed19946ed357fa25a3
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Wed Oct 29 17:40:18 2008 -0700

    ocfs2: Make la_debug_mutex static
    
    Mainline commit 4cc8124584610fbe087ea2bed29ca52d2d0aa84a
    
    It can also be moved into ocfs2_la_debug_read().
    
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit e8ae776418c375774e404c07e8624f95571d047b
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Wed Oct 29 17:39:56 2008 -0700

    ocfs2: track local alloc state via debugfs
    
    Mainline commit 9a8ff578fb430a8816dfbc73c77e5e09c6d9c343
    
    A per-mount debugfs file, "local_alloc" is created which when read will
    expose live state of the nodes local alloc file. Performance impact is
    minimal, only a bit of memory overhead per mount point. Still, the code is
    hidden behind CONFIG_OCFS2_FS_STATS. This feature will help us debug
    local alloc performance problems on a live system.
    
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 5638bfe6977e5fa70f6e9ca2c52c749e3793cee1
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Wed Oct 29 18:24:32 2008 -0700

    ocfs2: throttle back local alloc when low on disk space
    
    Mainline commit 9c7af40b210e87f8fddd97b0badc0a352862234a
    
    Ocfs2's local allocator disables itself for the duration of a mount point
    when it has trouble allocating a large enough area from the primary bitmap.
    That can cause performance problems, especially for disks which were only
    temporarily full or fragmented. This patch allows for the allocator to
    shrink it's window first, before being disabled. Later, it can also be
    re-enabled so that any performance drop is minimized.
    
    To do this, we allow the value of osb->local_alloc_bits to be shrunk when
    needed. The default value is recorded in a mostly read-only variable so that
    we can re-initialize when required.
    
    Locking had to be updated so that we could protect changes to
    local_alloc_bits. Mostly this involves protecting various local alloc values
    with the osb spinlock. A new state is also added, OCFS2_LA_THROTTLED, which
    is used when the local allocator is has shrunk, but is not disabled. If the
    available space dips below 1 megabyte, the local alloc file is disabled. In
    either case, local alloc is re-enabled 30 seconds after the event, or when
    an appropriate amount of bits is seen in the primary bitmap.
    
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit ab1ebebab5f6df8a56fb7debbccc17ed0df055b7
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Wed Oct 29 17:39:02 2008 -0700

    ocfs2: Track local alloc bits internally
    
    Mainline commit ebcee4b5c9136096f64ee6f691a013d7c0a4bc34
    
    Do this instead of tracking absolute local alloc size. This avoids
    needless re-calculatiion of bits from bytes in localalloc.c. Additionally,
    the value is now in a more natural unit for internal file system bitmap work.
    
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 5a616a65035b2260fbf60fa2256f0d50d2146ab3
Author: Tao Ma <tao.ma at oracle.com>
Date:   Wed Oct 29 17:38:36 2008 -0700

    ocfs2: Fix a bug in direct IO read.
    
    Mainline commit 0e116227a01580acf47437adba3afadf21b6bd5f
    
    ocfs2 will become read-only if we try to read the bytes which pass
    the end of i_size. This can be easily reproduced by following steps:
    1. mkfs a ocfs2 volume with bs=4k cs=4k and nosparse.
    2. create a small file(say less than 100 bytes) and we will create the file
       which is allocated 1 cluster.
    3. read 8196 bytes from the kernel using O_DIRECT which exceeds the limit.
    4. The ocfs2 volume becomes read-only and dmesg shows:
    OCFS2: ERROR (device sda13): ocfs2_direct_IO_get_blocks:
    Inode 66010 has a hole at block 1
    File system is now read-only due to the potential of on-disk corruption.
    Please run fsck.ocfs2 once the file system is unmounted.
    
    So suppress the ERROR message.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 5aae41bf74fd253323c0671c4ecbcd689c08f9b2
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Wed Oct 29 17:37:58 2008 -0700

    ocfs2: Correctly set i_blocks after inline dir gets expanded
    
    Mainline commit 9780eb6cfaf7d2d5ccc061eaf94e7aec6a17791e
    
    We were setting i_blocks based on allocation before the extent insert, which
    is wrong as the value is a calculation based on ip_clusters which gets
    updated as a result of the insert. This patch moves the line in question
    to just after the call to ocfs2_insert_extent().
    
    Without this fix, inline directories were temporarily having an i_blocks
    value of zero immediately after expansion to extents.
    
    Reported-and-tested-by: Tristan Ye <tristan.ye at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 151c5cb44243793efe05c4460448b847bcd427f9
Author: Tao Ma <tao.ma at oracle.com>
Date:   Wed Oct 29 17:37:25 2008 -0700

    ocfs2: Jump to correct label in ocfs2_expand_inline_dir()
    
    Mainline commit 83cab5338fa8c74f979223698c8d4cc88f2ab68e
    
    When we fail to insert extent in ocfs2_expand_inline_dir(), we should go to
    out_commit, not out.
    
    Signed-off-by: Tao Ma <tao.ma at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 19bdc3eabac8ac89b11e80b983ff329ab4973dec
Author: Mark Fasheh <mfasheh at suse.com>
Date:   Mon Nov 10 17:43:30 2008 -0800

    ocfs2: Fix sleep-with-spinlock recovery regression
    
    Mainline commit a1af7d15a18d1e375b0a6fee93789a0bbfe088b4
    
    This fixes a bug introduced with 539d8264093560b917ee3afe4c7f74e5da09d6a5:
        [PATCH 2/2] ocfs2: Fix race between mount and recovery
    
    ocfs2_mark_dead_nodes() was reading journal inodes while holding the
    spinlock protecting our in-memory recovery state. The fix is very simple -
    the disk state is protected by a cluster lock that's already held, so we
    just move the spinlock down past the read.
    
    [The backported patch differs from mainline as 1.4 does not include the
    new slot map. - Sunil]
    
    Signed-off-by: Sunil Mushran <sunil.mushran at oracle.com>
    Reviewed-by: Joel Becker <joel.becker at oracle.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit 5a696a17613b6edbd8f08ffc5719bc60ac9bf7f5
Author: Alexander Beregalov <a.beregalov at gmail.com>
Date:   Wed Oct 29 17:34:46 2008 -0700

    ocfs2/cluster/netdebug.c: fix warning
    
    Main commit a57a874b04e27cb530a0e18c244387452e73ccce
    
    ocfs2/cluster/netdebug.c: fix warning
    
    fs/ocfs2/cluster/netdebug.c:154: warning: format '%lu' expects
         type 'long unsigned int', but argument 17 has type 'suseconds_t'
    
    Signed-off-by: Alexander Beregalov <a.beregalov at gmail.com>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

commit e4c92d0293fb1195d1a632ce23160f58e32f4e72
Author: Adrian Bunk <bunk at kernel.org>
Date:   Wed Oct 29 17:34:19 2008 -0700

    ocfs2/cluster/tcp.c: make some functions static
    
    Mainline commit 18496e80f729be5f536d0315751b3bbb95ca913e
    
    Commit 0f475b2abed6cbccee1da20a0bef2895eb2a0edd (ocfs2/net: Silence build
    warnings) made sense as far as it fixed compile warnings, but it was not
    required that it made the functions global.
    
    Signed-off-by: Adrian Bunk <bunk at kernel.org>
    Signed-off-by: Mark Fasheh <mfasheh at suse.com>

-----------------------------------------------------------------------

Summary of changes:
 fs/ocfs2/alloc.c                |   33 ++---
 fs/ocfs2/aops.c                 |    5 +-
 fs/ocfs2/cluster/netdebug.c     |   26 ++--
 fs/ocfs2/cluster/tcp.c          |   44 +++++-
 fs/ocfs2/cluster/tcp_internal.h |   32 ----
 fs/ocfs2/dir.c                  |   35 ++---
 fs/ocfs2/file.c                 |    9 +-
 fs/ocfs2/inode.c                |    7 +-
 fs/ocfs2/ioctl.c                |    3 +-
 fs/ocfs2/journal.c              |   29 ++--
 fs/ocfs2/localalloc.c           |  321 ++++++++++++++++++++++++++++++++++-----
 fs/ocfs2/localalloc.h           |    4 +
 fs/ocfs2/namei.c                |   83 +++-------
 fs/ocfs2/ocfs2.h                |   38 ++++-
 fs/ocfs2/suballoc.c             |   59 ++++----
 fs/ocfs2/suballoc.h             |    1 +
 fs/ocfs2/super.c                |   13 +-
 fs/ocfs2/symlink.c              |    3 +-
 18 files changed, 485 insertions(+), 260 deletions(-)


hooks/post-receive
-- 
The ocfs2 filesystem version 1.4



More information about the Ocfs2-commits mailing list