#!/bin/bash . $(dirname $0)/../../include.rc . $(dirname $0)/../../volume.rc STR="1234567890" volname="Vol" cleanup; TEST glusterd TEST pidof glusterd TEST $CLI volume info; #testcase: bug-1085330 # Construct volname string such that its more than 256 characters for i in {1..30} do volname+=$STR done # Now $volname is more than 256 chars TEST ! $CLI volume create $volname $H0:$B0/${volname}{1,2}; TEST $CLI volume info; # Construct brick string such that its more than 256 characters volname="Vol1234" brick="brick" for i in {1..30} do brick+=$STR done # Now $brick1 is more than 256 chars TEST ! $CLI volume create $volname $H0:$B0/$brick; TEST $CLI volume info; # Now try to create a volume with couple of bricks (strlen(volname) = 128 & # strlen(brick1) = 128 # Command should still fail as strlen(volp path) > 256 volname="Volume-0" brick="brick-00" STR="12345678" for i in {1..15} do volname+=$STR brick+=$STR done TEST ! $CLI volume create $volname $H0:$B0/$brick; TEST $CLI volume info; # test case with brick path as 255 and a trailing "/" brick="" STR1="12345678" volname="vol" for i in {1..31} do brick+=$STR1 done brick+="123456/" echo $brick | wc -c # Now $brick is exactly 255 chars, but at end a trailing space # This will still fail as volfpath exceeds more than _POSIX_MAX chars TEST ! $CLI volume create $volname $H0:$B0/$brick; TEST $CLI volume info; # Positive test case TEST $CLI volume create $V0 $H0:$B0/${V0}1; TEST $CLI volume info; TEST $CLI volume start $V0; #testcase: bug-916549 pid_file=$(ls $GLUSTERD_PIDFILEDIR/vols/$V0/); brick_pid=$(cat $GLUSTERD_PIDFILEDIR/vols/$V0/$pid_file); kill -SIGKILL $brick_pid; TEST $CLI volume start $V0 force; TEST process_leak_count $(pidof glusterd); cleanup