10 Aug, 2010

1 commit

  • BFS is a very simple FS and its superblocks contains only static
    information and is never changed. However, the BFS code for some
    misterious reasons marked its buffer head as dirty from time to
    time, but nothing in that buffer was ever changed.

    This patch removes all the BFS superblock manipulation, simply
    because it is not needed. It removes:

    1. The si_sbh filed from 'struct bfs_sb_info' because it is not
    needed. We only need to read the SB once on mount to get the
    start of data blocks and the FS size. After this, we can forget
    about the SB.
    2. All instances of 'mark_buffer_dirty(sbh)' for BFS SB because
    it is never changed.
    3. The '->sync_fs()' method because there is nothing to sync
    (inodes are synched by VFS).
    4. The '->write_super()' method, again, because the SB is never
    changed.

    Tested-by: Artem Bityutskiy
    Signed-off-by: Artem Bityutskiy
    Signed-off-by: Al Viro

    Artem Bityutskiy
     

27 Jul, 2008

2 commits

  • Replace the BKL-based locking scheme used in the bfs driver by a private
    filesystem-wide mutex.

    Signed-off-by: Dmitri Vorobiev
    Cc: Tigran Aivazian
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitri Vorobiev
     
  • This patch makes the following cleanups:

    o removing an unused variable from bfs_fill_super();
    o removing unneeded blank spaces from pointer
    definitions.

    Signed-off-by: Dmitri Vorobiev
    Cc: Tigran Aivazian
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitri Vorobiev
     

30 Apr, 2008

1 commit


08 Feb, 2008

1 commit

  • Stop the BFS filesystem from using iget() and read_inode(). Replace
    bfs_read_inode() with bfs_iget(), and call that instead of iget(). bfs_iget()
    then uses iget_locked() directly and returns a proper error code instead of an
    inode in the event of an error.

    bfs_fill_super() returns any error incurred when getting the root inode
    instead of EINVAL.

    [kamalesh@linux.vnet.ibm.com: build fix]
    Signed-off-by: David Howells
    Acked-by: Christoph Hellwig
    Signed-off-by: Kamalesh Babulal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

15 Nov, 2007

1 commit

  • I found a few bugs in the BFS driver. Detailed description of the bugs as
    well as the steps to reproduce the errors are given in the kernel bugzilla.
    Please follow these links for more information:

    http://bugzilla.kernel.org/show_bug.cgi?id=9363
    http://bugzilla.kernel.org/show_bug.cgi?id=9364
    http://bugzilla.kernel.org/show_bug.cgi?id=9365
    http://bugzilla.kernel.org/show_bug.cgi?id=9366

    This patch fixes the bugs described above. Besides, the patch introduces
    coding style changes to make the BFS driver conform to the requirements
    specified for Linux kernel code. Finally, I made a few cosmetic changes
    such as removal of trivial debug output.

    Also, the patch removes the fields `si_lf_ioff' and `si_lf_sblk' of the
    in-core superblock structure. These fields are initialized but never
    actually used.

    If you are wondering why I need BFS, here is the answer: I am using this
    driver in the context of Linux kernel classes I am teaching in the Moscow
    State University and in the International Institute of Information
    Technology in Pune, India.

    Signed-off-by: Dmitri Vorobiev
    Cc: Tigran Aivazian
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitri Vorobiev
     

13 Feb, 2007

1 commit

  • Many struct inode_operations in the kernel can be "const". Marking them const
    moves these to the .rodata section, which avoids false sharing with potential
    dirty data. In addition it'll catch accidental writes at compile time to
    these shared resources.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

29 Jun, 2006

1 commit


29 Mar, 2006

1 commit

  • This is a conversion to make the various file_operations structs in fs/
    const. Basically a regexp job, with a few manual fixups

    The goal is both to increase correctness (harder to accidentally write to
    shared datastructures) and reducing the false sharing of cachelines with
    things that get dirty in .data (while .rodata is nicely read only and thus
    cache clean)

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

10 Sep, 2005

1 commit

  • * 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
     

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