lkml.org 
[lkml]   [2001]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subjectkgdb for 2.4.3 kernels
    From
    Date
    Hi,

    Here is another way of allowing sane access to file system specific
    information, statistics and configuration. It involves using the translation
    filesystem (http://trfs.sourceforge.net/). An example of filesystem
    configuration: configurable forcing data flush for all writes to files in a
    filesystem, is implemented and is available for download. It is implemented
    for ext2tr filesystem, which is ext2 filesystem with few modifications to use
    the translation filesystem.

    Filesystem views
    ----------------
    Filesystem views give information about filesystems and allow users to
    configure them. Filesystem views for files and directories residing in the
    same filesystem are identical. They are applicable to the whole filesystem.
    An example filesystem view fs/config has been provided for ext2tr filesytem.
    This view can be used to configure the filesystem to immediately flush data
    written to files in the filesystem.


    Uses of filesystem views
    -----------------------
    Filesystems can allow users to configure them through filesystem configuration
    views. Although ioctls can be used for the same purpose, using views is
    better. A comparison of ioctls and translation filesystem views is given on
    the translation filesystem webpage. A View that gives information for a
    filesystem can be put into the fs view at fs/info. The view can be
    instantiated into a directory which contains text files giving filesystem
    information. Filesystem statistics can be put into fs/stats. fs/config view
    can be used to configure a filesystem.

    Example of fs/config view
    -------------------------
    The ext2tr filesystem (available from downloads page) contains an example
    translator for fs/config view. The view instantiates into a directory, which
    contains a file forcedsync. This file is used to control data sync behavior
    for an ext2tr filesystem. If forcedsync file contains a character 0, flags
    specified while opening a file in the filesystem are used to determine whether
    data written to the file is immediately flushed to disk. If forcedsync file
    contains a character 1, all data written to a file in the filesystem is
    immediately flushed to disk regardless of the flags specified while opening
    the file. Contents of the file can be checked by reading it and can be changed
    by writing to it. A usage of the view is shown below. In the example, dd
    command required 0.10 seconds when forcedsync was not enabled. After enabling
    forcedsync, dd command required 1.62 seconds because data was being flushed at
    each write system call.

    [root@localhost /root]# mkfs -t ext2 /dev/hda5 > /dev/null
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    [root@localhost /root]# mount -t ext2tr /dev/hda5 /mnt0
    [root@localhost /root]# time dd if=/dev/zero of=/mnt0/foo bs=1024 count=100
    100+0 records in
    100+0 records out
    0.00user 0.02system 0:00.10elapsed 18%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (116major+20minor)pagefaults 0swaps
    [root@localhost /root]# umount /mnt0
    [root@localhost /root]# mkfs -t ext2 /dev/hda5 > /dev/null
    mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
    [root@localhost /root]# mount -t ext2tr /dev/hda5 /mnt0
    [root@localhost /root]# /home/amit/developement/trfs/cmds/vcmd/vcmd /mnt0
    fs/config -c ls @1/
    forcedsync
    [root@localhost /root]# /home/amit/developement/trfs/cmds/vcmd/vcmd /mnt0
    fs/config -c cat
    @1/forcedsync
    [root@localhost /root]# echo 1 | /home/amit/developement/trfs/cmds/vcmd/vcmd
    /mnt0 fs/config -c
    dd of=@1/forcedsync bs=1 count=1
    1+0 records in
    1+0 records out
    [root@localhost /root]# /home/amit/developement/trfs/cmds/vcmd/vcmd /mnt0
    fs/config -c cat
    @1/forcedsync
    [root@localhost /root]# time dd if=/dev/zero of=/mnt0/foo bs=1024 count=100
    100+0 records in
    100+0 records out
    0.00user 0.01system 0:01.62elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
    0inputs+0outputs (116major+20minor)pagefaults 0swaps

    --
    Amit S. Kale
    <akale@users.sourceforge.net>
    Linux kernel source level debugger http://kgdb.sourceforge.net/
    Translation Filesystem http://trfs.sourceforge.net/
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:24    [W:0.029 / U:30.000 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site