diff -uprN ltp-full-20080531/testscripts.orig/ro-bind-test.sh ltp-full-20080531/testscripts/ro-bind-test.sh
--- ltp-full-20080531/testscripts.orig/ro-bind-test.sh	1970-01-01 05:30:00.000000000 +0530
+++ ltp-full-20080531/testscripts/ro-bind-test.sh	2008-06-12 14:37:38.000000000 +0530
@@ -0,0 +1,247 @@
+#!/bin/bash
+#
+#   Copyright (c) International Business Machines  Corp., 2008
+#   
+#   This program is free software;  you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY;  without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
+#   the GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program;  if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+#*******************************************************************************
+# TEST: 
+#   NAME:           ro_bind_test.sh
+#   FUNCTIONALITY:  File system tests for normal_mount, bind_mount and RO_mount
+#
+#   DESCRIPTION:    Performs filesystems tests for RO mount.
+#       For filesystem's like ext2, ext3, reiserfs, jfs & xfs.
+#       This test creates an image file and mount it as ReadOnly. 
+#       Then it executes the tests from flat-file  {LTPROOT}/runtest/fs-ro-tests
+#       Check the logs /tmp/fs$$/errs.log and /tmp/fs$$/pass.log for pass/fail.
+#===============================================================================
+#
+# CHANGE HISTORY:
+# DATE           AUTHOR's                  REASON
+# 09/06/2008     Veerendra Chandrappa    For Container, testing of RO-Bind mount
+#                Dave Hansen
+#
+#*******************************************************************************
+usage()
+{   
+  cat << EOF
+  usage: $0 
+
+  This script executes filesystem tests on mount points. 
+  Verifies the fs of normal-mount, bind-mount and ReadOnly-mount
+  By default checks for the 'ext3' filesystem.
+
+  OPTIONS
+    -h    display this message and exit
+    -n    number of iterations for tests to execute
+    -f    [ext3, ext2, jfs, xfs, reiserfs, ramfs]
+EOF
+}
+
+
+#==============================================================================
+# FUNCTION NAME:    cleanup
+#
+# FUNCTION DESCRIPTION: Unmounts dir, Removes dir's, files created by the tests.
+#
+# PARAMETERS:       The $fs_image .
+#
+# RETURNS:      None.
+#==============================================================================
+function cleanup
+{
+    umount ${TMPDIR}/dir3-ro 
+    umount ${TMPDIR}/dir2-bound 
+    umount ${TMPDIR}/dir1
+    # Deleting the image file
+    if [ ! -z $1 ]; then {
+        rm -rf $1 || true
+    }
+    fi
+}
+
+#===============================================================================
+# FUNCTION NAME:    setup
+#
+# FUNCTION DESCRIPTION: Does the initailization
+#
+# PARAMETERS:   File_systems (if any )    
+#
+# RETURNS:      None.
+#===============================================================================
+function setup
+{
+    trap cleanup ERR
+    trap cleanup INT
+    DIRS="dir1 dir2-bound dir3-ro"
+    TMPDIR=/tmp/fs$$
+    mkdir ${TMPDIR}
+    FAILLOG="$TMPDIR/errs.log"
+    PASSLOG="$TMPDIR/pass.log"
+
+    for i in $DIRS; do
+        rm -rf ${TMPDIR}/$i || true
+        mkdir -p ${TMPDIR}/$i
+    done;
+
+    # Populating the default FS as ext3, if FS is not given
+    if [ -z "$1" ]; then
+        FSTYPES="ext3"
+    else
+        FSTYPES="$fs"
+    fi
+
+    # set the LTPROOT directory
+    cd `dirname $0`
+    echo "${PWD}" | grep testscripts > /dev/null 2>&1
+    if [ $? -eq 0 ]; then
+        cd ..
+        export LTPROOT="${PWD}"
+    fi
+
+    FS_Tests="${LTPROOT}/runtest/fs-ro-tests"
+    cd ${TMPDIR}
+}
+
+#=============================================================================
+# FUNCTION NAME:    testdir
+#
+# FUNCTION DESCRIPTION: The core function where it runs the tests
+#
+# PARAMETERS:   dir, file_systems, iterations, Read_only flag = [true|false]
+#
+# RETURNS:      None.
+#=============================================================================
+function testdir
+{
+    dir=$1
+    fs=$2
+    times=$3
+    RO=$4
+    pushd $dir
+    testnums=`wc -l $FS_Tests | cut -f1 -d" "`
+    status=0
+    export TDIRECTORY={$PWD} 
+
+    echo "---------------------------------------------------" >> $FAILLOG ;
+    echo "Running RO-FileSystem Tests for $dir $fs filesystem" >> $FAILLOG ;
+    echo "---------------------------------------------------" >> $FAILLOG ;
+
+    echo "---------------------------------------------------" >> $PASSLOG ;
+    echo "Running RO-FileSystem Tests for $dir $fs filesystem" >> $PASSLOG ;
+    echo "---------------------------------------------------" >> $PASSLOG ;
+
+    for iter in `seq 1 $times` ; do
+        if [ $RO == false ] ; then                      # Testing Read-Write dir
+            for tests in `seq $testnums` ; do
+                cmd=`cat $FS_Tests | head -$tests | tail -1`
+                eval $cmd > /dev/null 2>&1 /dev/null
+                if [ $? ]; then
+                    echo "$tests. '$cmd' PASS" >> $PASSLOG 
+                else
+                    echo "$tests. '$cmd' FAIL " >> $FAILLOG 
+                    status=1 
+                fi
+                done
+
+        else                                            # Testing Read-Only dir
+                for tests in `seq $testnums` ; do
+                    cmd=`cat $FS_Tests | head -$tests | tail -1`
+                    eval $cmd > /dev/null 2>&1 /dev/null
+                    if [ $? ]; then
+                        echo "$tests. '$cmd' PASS " >> $PASSLOG 
+                    else
+                         echo "$tests. '$cmd' FAIL" >> $FAILLOG 
+                         status=1 
+                    fi
+                done
+        fi
+        # Remove all the temp-files created.
+        eval rm -rf ${TMPDIR}/${dir}/* > /dev/null 2>&1 /dev/null || true
+    done
+    if [ $status == 1 ] ; then
+        echo "RO-FileSystem Tests FAILED for $dir $fs filesystem" >> $FAILLOG
+        echo >> $FAILLOG
+    else
+        echo "RO-FileSystem Tests PASSed for $dir $fs filesystem" >> $PASSLOG
+        echo >> $PASSLOG
+    fi
+    unset TDIRECTORY
+    popd
+}
+
+#=============================================================================
+# MAIN 
+# See the description, purpose, and design of this test in this test's prolog.
+#=============================================================================
+iter=1 
+fs=
+while getopts hn:f: OPTION; do
+  case $OPTION in
+    h)
+      usage
+      exit 1
+      ;;
+    n)
+      iter=$OPTARG
+      ;;
+
+    f)
+      fs="$OPTARG $fs"
+      ;;
+
+    ?)
+      usage
+      exit 1
+      ;;
+  esac
+done
+# Does the initial setups
+setup $fs
+
+# Executes the tests for differnt FS's
+# Creates an image file of 500 MB and mounts it.
+for fstype in $FSTYPES; do
+    image=$fstype.img
+    dd if=/dev/zero of=$image bs=$((1<<20)) count=500
+
+    OPTS="-F"
+    if [ "$fstype" == "reiserfs" ]; then
+    OPTS="-f --journal-size 513 -q"
+    elif [ "$fstype" == "jfs" ]; then
+    OPTS="-f"
+    elif [ "$fstype" == "xfs" ]; then
+    OPTS=""
+    fi
+
+    if [ "$fstype" != "ramfs" ]; then
+        mkfs.$fstype $OPTS $image || echo "Linux ($fstype) format failed!" 
+    fi
+
+    mount -t $fstype -o loop $image dir1
+    mount --bind dir1 dir2-bound || exit
+    mount --bind dir1 dir3-ro    || exit
+    mount -o remount,ro dir3-ro  || exit
+
+    testdir dir1 $fstype $iter false
+    testdir dir2-bound $fstype $iter false
+    testdir dir3-ro $fstype $iter true
+    cleanup $image
+done
+
+    for i in $DIRS; do
+        rm -rf ./$i || true
+    done;
+
