24 May, 2011

1 commit


25 May, 2010

1 commit


24 Sep, 2009

1 commit

  • For every hardlink in btrfs, there is a corresponding inode back
    reference. All inode back references for hardlinks in a given
    directory are stored in single b-tree item. The size of b-tree item
    is limited by the size of b-tree leaf, so we can only create limited
    number of hardlinks to a given file in a directory.

    The original code lacks of the check, it oops if the number of
    hardlinks goes over the limit. This patch fixes the issue by adding
    check to btrfs_link and btrfs_rename.

    Signed-off-by: Yan Zheng
    Signed-off-by: Chris Mason

    Yan, Zheng
     

22 Sep, 2009

1 commit

  • The new back reference format does not allow reusing objectid of
    deleted snapshot/subvol. So we use ++highest_objectid to allocate
    objectid for new snapshot/subvol.

    Now we use ++highest_objectid to allocate objectid for both new inode
    and new snapshot/subvolume, so this patch removes 'find hole' code in
    btrfs_find_free_objectid.

    Signed-off-by: Yan Zheng
    Signed-off-by: Chris Mason

    Yan, Zheng
     

25 Mar, 2009

1 commit

  • btrfs_mark_buffer dirty would set dirty bits in the extent_io tree
    for the buffers it was dirtying. This may require a kmalloc and it
    was not atomic. So, anyone who called btrfs_mark_buffer_dirty had to
    set any btree locks they were holding to blocking first.

    This commit changes dirty tracking for extent buffers to just use a flag
    in the extent buffer. Now that we have one and only one extent buffer
    per page, this can be safely done without losing dirty bits along the way.

    This also introduces a path->leave_spinning flag that callers of
    btrfs_search_slot can use to indicate they will properly deal with a
    path returned where all the locks are spinning instead of blocking.

    Many of the btree search callers now expect spinning paths,
    resulting in better btree concurrency overall.

    Signed-off-by: Chris Mason

    Chris Mason
     

02 Dec, 2008

1 commit


25 Sep, 2008

3 commits


11 Jul, 2007

1 commit

  • Almost none of the files including module.h need to do so,
    remove them.

    Include sched.h in extent-tree.c to silence a warning about cond_resched()
    being undeclared.

    Signed-off-by: Zach Brown
    Signed-off-by: Chris Mason

    Zach Brown
     

14 Jun, 2007

1 commit

  • Attaching below is some of the code cleanups that i came across while
    reading the code.

    a) alloc_path already calls init_path.
    b) Mention that btrfs_inode is the in memory copy.Ext4 have ext4_inode_info as
    the in memory copy ext4_inode as the disk copy

    Signed-off-by: Chris Mason

    Aneesh
     

12 Jun, 2007

1 commit


11 Apr, 2007

1 commit


07 Apr, 2007

1 commit


02 Apr, 2007

1 commit


21 Mar, 2007

1 commit


17 Mar, 2007

1 commit


16 Mar, 2007

1 commit