05 Oct, 2005

2 commits

  • bfs_fill_super() walks the inode table to get the bitmap of free inodes
    and collect stats. It has no business using iget() for that - it's a
    lot of extra work, extra icache pollution and more complex code.
    Switched to walking the damn thing directly.

    Note: that also allows to kill ->i_dsk_ino in there - separate patch if
    Tigran can confirm that this field can be zero only for deleted inodes
    (i.e. something that could only be found during that scan and not by
    normal lookups).

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

10 Sep, 2005

2 commits

  • * Makes BFS code endianness-clean.

    * Fixes some signedness warnings.

    * Fixes a problem in fs/bfs/inode.c:164 where inodes not synced to disk
    don't get fully marked as clean. Here's how to reproduce it:

    # mount -o loop -t bfs /bfs.img /mnt
    # df -i /mnt
    Filesystem Inodes IUsed IFree IUse% Mounted on
    /bfs.img 48 1 47 3% /mnt
    # df -k /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /bfs.img 512 5 508 1% /mnt
    # cp 60k-archive.zip /mnt/mt.zip
    # df -k /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /bfs.img 512 65 447 13% /mnt
    # df -i /mnt
    Filesystem Inodes IUsed IFree IUse% Mounted on
    /bfs.img 48 2 46 5% /mnt
    # rm /mnt/mt.zip
    # echo $?
    0

    [If the unlink happens before the buffers flush, the following happens:]

    # df -i /mnt
    Filesystem Inodes IUsed IFree IUse% Mounted on
    /bfs.img 48 2 46 5% /mnt
    # df -k /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /bfs.img 512 65 447 13% /mnt

    fs/bfs/bfs.h | 1

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

    Andrew Stribblehill
     
  • Update the file systems in fs/ implementing a delete_inode() callback to
    call truncate_inode_pages(). One implementation note: In developing this
    patch I put the calls to truncate_inode_pages() at the very top of those
    filesystems delete_inode() callbacks in order to retain the previous
    behavior. I'm guessing that some of those could probably be optimized.

    Signed-off-by: Mark Fasheh
    Acked-by: Christoph Hellwig
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Fasheh
     

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