diff options
author | Dave Chinner <dchinner@redhat.com> | 2013-03-15 12:27:58 +0000 |
---|---|---|
committer | Rich Johnston <rjohnston@sgi.com> | 2013-03-26 20:45:43 -0500 |
commit | 8ff10d6d1c5ff473541d6d698ee4fb9cb9f29dab (patch) | |
tree | 5f895db92dbaaac877bcf5b8d5e30653c01bdd37 /tests/udf | |
parent | fc48dfb96676c140ab371ab7723d59e3a4445d84 (diff) |
xfstests: move remaining tests out of top level directory
These are tests that are shared between multiple filesystems (moved
to shared), and udf/btrfs/ext4 specific tests, moved to appropriate
directories.
I created the "shared" directory to indicate tests that are not
truly generic, but also not filesystem specific. They might rely on
a feature that is only implmented in a few filesystems and so can't
be truly generic.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Phil White <pwhite@sgi.com>
[rjohnston@sgi.com reworked for TOT changes]
Signed-off-by: Rich Johnston <rjohnston@sgi.com>
Diffstat (limited to 'tests/udf')
-rwxr-xr-x | tests/udf/098 | 275 | ||||
-rw-r--r-- | tests/udf/098.out | 1594 | ||||
-rwxr-xr-x | tests/udf/101 | 61 | ||||
-rw-r--r-- | tests/udf/101.out | 19 | ||||
-rwxr-xr-x | tests/udf/102 | 58 | ||||
-rw-r--r-- | tests/udf/102.out | 2 | ||||
-rw-r--r-- | tests/udf/group | 8 |
7 files changed, 2017 insertions, 0 deletions
diff --git a/tests/udf/098 b/tests/udf/098 new file mode 100755 index 00000000..58d2a954 --- /dev/null +++ b/tests/udf/098 @@ -0,0 +1,275 @@ +#! /bin/bash +# FS QA Test No. 098. Modified from UDFQA test 035 +# +# simple attr tests for EAs: +# - set +# - get +# - list +# - remove +# Basic testing. +# + udf_db checks. +# (033 + udf_db) +# +#----------------------------------------------------------------------- +# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. +# +# 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. +# +# This program is distributed in the hope that it would 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 the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + rm -f $tmp.* +} + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +_db_filter() +{ + awk ' + /<file_entry name=/ { fe_on=1 } + /<timestamp/ { ts_on=1; next } + /<\/timestamp/ { ts_on=0; next } + /<cksum/ { next } + /<desc_crc/ { next } + /<pos/ { next } + /<tag_loc/ { next } + /<lb_num/ { next } + fe_on == 1 && ts_on == 0 { print; next } + { next } + ' +} + +_umount_check_mount() +{ + cd / + umount $SCRATCH_MNT + + udf_db -f $SCRATCH_DEV | _db_filter + + _scratch_mount + cd $SCRATCH_MNT +} + +# real QA test starts here +_supported_fs udf +_supported_os IRIX + +_require_scratch +_require_attrs + +_setup_testdir + +cd $SCRATCH_MNT + +echo "create file foo" +echo "file_contents" >foo +cat foo + +echo "should be no EAs for foo:" +${ATTR_PROG} -l foo + +echo "set EA <noise,woof>:" +${ATTR_PROG} -s noise -V woof foo + +echo "set EA <colour,blue>:" +${ATTR_PROG} -s colour -V blue foo + +echo "set EA <size,small>:" +${ATTR_PROG} -s size -V small foo + +echo "list the EAs for foo: noise, colour, size" +${ATTR_PROG} -l foo + +echo "check the list again for foo" +${ATTR_PROG} -l foo + +echo "unmount the FS and see if EAs are persistent" +_umount_check_mount + +echo "check the list again for foo after umount/mount" +${ATTR_PROG} -l foo + +echo "get the value of the noise EA" +${ATTR_PROG} -g noise foo + +echo "get the value of the colour EA which was removed earlier" +${ATTR_PROG} -g colour foo + +echo "get the value of the size EA" +${ATTR_PROG} -g size foo + +echo "remove the colour EA on foo" +${ATTR_PROG} -r colour foo + +echo "list EAs for foo: noise, size" +${ATTR_PROG} -l foo + +echo "get the value of the noise EA" +${ATTR_PROG} -g noise foo + +echo "get the value of the colour EA which was removed earlier" +${ATTR_PROG} -g colour foo + +echo "get the value of the size EA" +${ATTR_PROG} -g size foo + +echo "list all the EAs again: noise, size" +${ATTR_PROG} -l foo + +echo "change the value of the size EA from small to huge" +${ATTR_PROG} -s size -V huge foo + +echo "get the size EA which should now have value huge" +${ATTR_PROG} -g size foo + +echo "list EAs: noise, size" +${ATTR_PROG} -l foo + +echo "remove the size EA from foo" +${ATTR_PROG} -r size foo + +echo "list EAs: noise (size EA has been removed)" +${ATTR_PROG} -l foo + +echo "get the noise EA: woof" +${ATTR_PROG} -g noise foo + +echo "try removing non-existent EA named woof" +${ATTR_PROG} -r woof foo + +echo "try removing already removed EA size" +${ATTR_PROG} -r size foo + +echo "list EAs: noise" +${ATTR_PROG} -l foo + +echo "try removing already removed EA colour" +${ATTR_PROG} -r colour foo + +echo "list EAs: noise" +${ATTR_PROG} -l foo + +echo "remove remaining EA noise" +${ATTR_PROG} -r noise foo + +echo "list EAs: should be no EAs left now" +${ATTR_PROG} -l foo + +echo "unmount the FS and see if EAs are persistent" +_umount_check_mount + +echo "list EAs: should still be no EAs left" +${ATTR_PROG} -l foo + +echo "" +echo "*** Test out the root namespace ***" +echo "" + +echo "set EA <root:colour,marone>:" +${ATTR_PROG} -R -s colour -V marone foo + +echo "set EA <user:colour,beige>:" +${ATTR_PROG} -s colour -V beige foo + +echo "set EA <user:vomit,pizza>:" +${ATTR_PROG} -s vomit -V pizza foo + +echo "set EA <root:noise,whack>:" +${ATTR_PROG} -R -s noise -V whack foo + +echo "list root EAs: <root:colour,noise>:" +${ATTR_PROG} -R -l foo + +echo "list user EAs: <user:colour,vomit>:" +${ATTR_PROG} -l foo + +echo "get root EA colour: marone" +${ATTR_PROG} -R -g colour foo + +echo "get root EA noise: whack" +${ATTR_PROG} -R -g noise foo + +echo "get root EA vomit which is a user EA => find nothing" +${ATTR_PROG} -R -g vomit foo + +echo "" +echo "unmount the FS and see if EAs are persistent" +echo "" +_umount_check_mount + +echo "get root EA colour: marone" +${ATTR_PROG} -R -g colour foo + +echo "get root EA noise: whack" +${ATTR_PROG} -R -g noise foo + +echo "get user EA vomit: pizza" +${ATTR_PROG} -g vomit foo + +echo "remove the root colour EA" +${ATTR_PROG} -R -r colour foo + +echo "list root EAs: <root:noise>:" +${ATTR_PROG} -R -l foo + +echo "list user EAs: <user:colour,vomit>:" +${ATTR_PROG} -l foo + +echo "remove the final root EA noise" +${ATTR_PROG} -R -r noise foo + +echo "list root EAs: none" +${ATTR_PROG} -R -l foo + +cd / +umount $SCRATCH_MNT + +udf_db -f $SCRATCH_DEV | _db_filter + +# Checks the udf filesystem +_check_udf_filesystem $SCRATCH_DEV + +_scratch_mount +cd $SCRATCH_MNT + +echo "delete the file foo - which will delete the associated streams" +rm foo + +cd / +umount $SCRATCH_MNT + +udf_db -f $SCRATCH_DEV | _db_filter + +# Checks the udf filesystem +_check_udf_filesystem $SCRATCH_DEV + +# optional stuff if your test has verbose output to help resolve problems +#echo +#echo "If failure, check $seq.full (this) and $seq.full.ok (reference)" + +# success, all done +status=0 +exit diff --git a/tests/udf/098.out b/tests/udf/098.out new file mode 100644 index 00000000..63772a0a --- /dev/null +++ b/tests/udf/098.out @@ -0,0 +1,1594 @@ +QA output created by 098 +create file foo +file_contents +should be no EAs for foo: +set EA <noise,woof>: +Attribute "noise" set to a 4 byte value for foo: +woof +set EA <colour,blue>: +Attribute "colour" set to a 4 byte value for foo: +blue +set EA <size,small>: +Attribute "size" set to a 5 byte value for foo: +small +list the EAs for foo: noise, colour, size +Attribute "noise" has a 4 byte value for foo +Attribute "colour" has a 4 byte value for foo +Attribute "size" has a 5 byte value for foo +check the list again for foo +Attribute "noise" has a 4 byte value for foo +Attribute "colour" has a 4 byte value for foo +Attribute "size" has a 5 byte value for foo +unmount the FS and see if EAs are persistent + <file_entry name="/"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="4" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x3CA5" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="84" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc." /> + <id_suffix val="" /> + </regid> + <unique_id val="0" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="84" /> + </short_ad> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="10" char=".Parent.Dir." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="4" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="foo" comp_id="8" /> + <extended_file_entry name="foo" comp_id="8"> + <desc_tag name="tag"> + <id val="266" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="2" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="14" /> + <obj_size val="27" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <long_ad name="streamdir_icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="14" /> + </short_ad> + <stream_directory> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="8" char=".Parent..." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="6" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="noise" comp_id="8" /> + <file_entry name="noise" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="4" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="4" /> + </short_ad> + <file_content> + 77 6F 6F 66 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="7" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="colour" comp_id="8" /> + <file_entry name="colour" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="4" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="4" /> + </short_ad> + <file_content> + 62 6C 75 65 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="5" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="size" comp_id="8" /> + <file_entry name="size" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="5" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="5" /> + </short_ad> + <file_content> + 73 6D 6C 6C + </file_content> + </file_entry> + </fileid_desc> + </stream_directory> + <file_content> + 66 69 6C 65 5F 63 6F 6E 74 65 6E 74 73 A + </file_content> + </extended_file_entry> + </fileid_desc> + </file_entry> +</udf> +check the list again for foo after umount/mount +Attribute "noise" has a 4 byte value for foo +Attribute "colour" has a 4 byte value for foo +Attribute "size" has a 5 byte value for foo +get the value of the noise EA +Attribute "noise" had a 4 byte value for foo: +woof +get the value of the colour EA which was removed earlier +Attribute "colour" had a 4 byte value for foo: +blue +get the value of the size EA +Attribute "size" had a 5 byte value for foo: +small +remove the colour EA on foo +list EAs for foo: noise, size +Attribute "noise" has a 4 byte value for foo +Attribute "size" has a 5 byte value for foo +get the value of the noise EA +Attribute "noise" had a 4 byte value for foo: +woof +get the value of the colour EA which was removed earlier +attr_get: Attribute not found +Could not get "colour" for foo +get the value of the size EA +Attribute "size" had a 5 byte value for foo: +small +list all the EAs again: noise, size +Attribute "noise" has a 4 byte value for foo +Attribute "size" has a 5 byte value for foo +change the value of the size EA from small to huge +Attribute "size" set to a 4 byte value for foo: +huge +get the size EA which should now have value huge +Attribute "size" had a 4 byte value for foo: +huge +list EAs: noise, size +Attribute "noise" has a 4 byte value for foo +Attribute "size" has a 4 byte value for foo +remove the size EA from foo +list EAs: noise (size EA has been removed) +Attribute "noise" has a 4 byte value for foo +get the noise EA: woof +Attribute "noise" had a 4 byte value for foo: +woof +try removing non-existent EA named woof +attr_remove: Attribute not found +Could not remove "woof" for foo +try removing already removed EA size +attr_remove: Attribute not found +Could not remove "size" for foo +list EAs: noise +Attribute "noise" has a 4 byte value for foo +try removing already removed EA colour +attr_remove: Attribute not found +Could not remove "colour" for foo +list EAs: noise +Attribute "noise" has a 4 byte value for foo +remove remaining EA noise +list EAs: should be no EAs left now +unmount the FS and see if EAs are persistent + <file_entry name="/"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="4" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x3CA5" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="84" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc." /> + <id_suffix val="" /> + </regid> + <unique_id val="0" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="84" /> + </short_ad> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="10" char=".Parent.Dir." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="4" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="foo" comp_id="8" /> + <file_entry name="foo" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="14" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="14" /> + </short_ad> + <file_content> + 66 69 6C 65 5F 63 6F 6E 74 65 6E 74 73 A + </file_content> + </file_entry> + </fileid_desc> + </file_entry> +</udf> +list EAs: should still be no EAs left + +*** Test out the root namespace *** + +set EA <root:colour,marone>: +Attribute "colour" set to a 6 byte value for foo: +marone +set EA <user:colour,beige>: +Attribute "colour" set to a 5 byte value for foo: +beige +set EA <user:vomit,pizza>: +Attribute "vomit" set to a 5 byte value for foo: +pizza +set EA <root:noise,whack>: +Attribute "noise" set to a 5 byte value for foo: +whack +list root EAs: <root:colour,noise>: +Attribute "colour" has a 6 byte value for foo +Attribute "noise" has a 5 byte value for foo +list user EAs: <user:colour,vomit>: +Attribute "colour" has a 5 byte value for foo +Attribute "vomit" has a 5 byte value for foo +get root EA colour: marone +Attribute "colour" had a 6 byte value for foo: +marone +get root EA noise: whack +Attribute "noise" had a 5 byte value for foo: +whack +get root EA vomit which is a user EA => find nothing +attr_get: Attribute not found +Could not get "vomit" for foo + +unmount the FS and see if EAs are persistent + + <file_entry name="/"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="4" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x3CA5" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="84" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc." /> + <id_suffix val="" /> + </regid> + <unique_id val="0" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="84" /> + </short_ad> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="10" char=".Parent.Dir." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="4" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="foo" comp_id="8" /> + <extended_file_entry name="foo" comp_id="8"> + <desc_tag name="tag"> + <id val="266" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="2" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="14" /> + <obj_size val="35" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <long_ad name="streamdir_icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="14" /> + </short_ad> + <stream_directory> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="8" char=".Parent..." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="16" char="Meta...." /> + <l_fi val="7" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="colour" comp_id="8" /> + <file_entry name="colour" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="6" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="6" /> + </short_ad> + <file_content> + 6D 61 72 6F 6E 65 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="7" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="colour" comp_id="8" /> + <file_entry name="colour" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="5" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="5" /> + </short_ad> + <file_content> + 62 65 67 65 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="6" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="vomit" comp_id="8" /> + <file_entry name="vomit" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="5" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="5" /> + </short_ad> + <file_content> + 70 69 7A 61 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="16" char="Meta...." /> + <l_fi val="6" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="noise" comp_id="8" /> + <file_entry name="noise" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="5" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="5" /> + </short_ad> + <file_content> + 77 68 63 6B + </file_content> + </file_entry> + </fileid_desc> + </stream_directory> + <file_content> + 66 69 6C 65 5F 63 6F 6E 74 65 6E 74 73 A + </file_content> + </extended_file_entry> + </fileid_desc> + </file_entry> +</udf> +get root EA colour: marone +Attribute "colour" had a 6 byte value for foo: +marone +get root EA noise: whack +Attribute "noise" had a 5 byte value for foo: +whack +get user EA vomit: pizza +Attribute "vomit" had a 5 byte value for foo: +pizza +remove the root colour EA +list root EAs: <root:noise>: +Attribute "noise" has a 5 byte value for foo +list user EAs: <user:colour,vomit>: +Attribute "colour" has a 5 byte value for foo +Attribute "vomit" has a 5 byte value for foo +remove the final root EA noise +list root EAs: none + <file_entry name="/"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="4" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x3CA5" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="84" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc." /> + <id_suffix val="" /> + </regid> + <unique_id val="0" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="84" /> + </short_ad> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="10" char=".Parent.Dir." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="4" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="foo" comp_id="8" /> + <extended_file_entry name="foo" comp_id="8"> + <desc_tag name="tag"> + <id val="266" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="2" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="14" /> + <obj_size val="24" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <long_ad name="streamdir_icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="14" /> + </short_ad> + <stream_directory> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="8" char=".Parent..." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="20" char="Meta.Deleted.." /> + <l_fi val="7" /> + <long_ad name="icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="colour" comp_id="254" /> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="7" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="colour" comp_id="8" /> + <file_entry name="colour" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="5" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="5" /> + </short_ad> + <file_content> + 62 65 67 65 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="0" char="....." /> + <l_fi val="6" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="16" /> + </long_ad> + <l_iu val="0" /> + <file_id name="vomit" comp_id="8" /> + <file_entry name="vomit" comp_id="8"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="5" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="8192" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x1884" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="5" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc" /> + <id_suffix val="" /> + </regid> + <unique_id val="16" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="5" /> + </short_ad> + <file_content> + 70 69 7A 61 + </file_content> + </file_entry> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="20" char="Meta.Deleted.." /> + <l_fi val="6" /> + <long_ad name="icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="noise" comp_id="254" /> + </stream_directory> + <file_content> + 66 69 6C 65 5F 63 6F 6E 74 65 6E 74 73 A + </file_content> + </extended_file_entry> + </fileid_desc> + </file_entry> +</udf> +delete the file foo - which will delete the associated streams + <file_entry name="/"> + <desc_tag name="tag"> + <id val="261" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <icb_tag name="icbtag"> + <prev_num_dirs val="0" /> + <strat_type val="4" /> + <strat_param val="0x0 0x0" /> + <max_num_entries val="1" /> + <reserved val="0x0" /> + <file_type val="4" /> + <lb_addr name="parent_icb"> + <part_num val="0" /> + </lb_addr> + <flags val="0" /> + </icb_tag> + <uid val="0" /> + <gid val="0" /> + <perm val="0x3CA5" /> + <link_cnt val="1" /> + <rec_format val="0" /> + <rec_disp_attr val="0" /> + <rec_len val="0" /> + <inf_len val="84" /> + <logblks_rec val="1" /> + <ckpoint val="1" /> + <long_ad name="ex_attr_icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <regid name="imp_id"> + <flags val="0" /> + <id val="*Silicon Graphics, Inc." /> + <id_suffix val="" /> + </regid> + <unique_id val="0" /> + <l_ea val="0" /> + <l_ad val="8" /> + <short_ad name="ads.sht"> + <len val="84" /> + </short_ad> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="10" char=".Parent.Dir." /> + <l_fi val="0" /> + <long_ad name="icb"> + <len val="2048" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="" /> + </fileid_desc> + <fileid_desc> + <desc_tag name="tag"> + <id val="257" /> + <descriptor_ver val="3" /> + <reserved val="0" /> + <serial_num val="0" /> + </desc_tag> + <file_num val="1" /> + <file_char val="4" char="..Deleted.." /> + <l_fi val="4" /> + <long_ad name="icb"> + <len val="0" /> + <lb_addr name="loc"> + <part_num val="0" /> + </lb_addr> + <ad_flags val="0" /> + <ad_id val="0" /> + </long_ad> + <l_iu val="0" /> + <file_id name="foo" comp_id="254" /> + </file_entry> +</udf> diff --git a/tests/udf/101 b/tests/udf/101 new file mode 100755 index 00000000..0d274e53 --- /dev/null +++ b/tests/udf/101 @@ -0,0 +1,61 @@ +#! /bin/bash +# FS QA Test No. 101. Modified from UDFQA test 029. +# +# This tests mkfs_udf with -s [SIZE] option. +# +#----------------------------------------------------------------------- +# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. +# +# 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. +# +# This program is distributed in the hope that it would 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 the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +FS_SIZE=2048 +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + rm -f $tmp.* +} + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +# real QA test starts here +_supported_fs udf +_supported_os IRIX + +MKFS_OPTIONS="-s $FS_SIZE" + +_require_scratch +_setup_udf_scratchdir +umount $SCRATCH_MNT + +# Inspect the space bitmap +echo bitmap | udf_db -c - $SCRATCH_DEV + +# Run udf_test +_check_udf_filesystem $SCRATCH_DEV $FS_SIZE + +# success, all done +status=0 +exit diff --git a/tests/udf/101.out b/tests/udf/101.out new file mode 100644 index 00000000..1ca59a8c --- /dev/null +++ b/tests/udf/101.out @@ -0,0 +1,19 @@ +QA output created by 101 + <space_bitmap name="unalloc"> + <desc_tag name="tag"> + <id val="264" /> + <descriptor_ver val="3" /> + <cksum val="13" /> + <reserved val="0" /> + <serial_num val="0" /> + <desc_crc val="0" /> + <desc_crc_len val="0" /> + <tag_loc val="1" /> + </desc_tag> + <num_bits val="1500" /> + <num_bytes val="188" /> + <bitmap> + 0-3 [4]: 0 + 4-1499 [1496]: 1 + </bitmap> + </space_bitmap> diff --git a/tests/udf/102 b/tests/udf/102 new file mode 100755 index 00000000..68407a7e --- /dev/null +++ b/tests/udf/102 @@ -0,0 +1,58 @@ +#! /bin/bash +# FS QA Test No. 102 +# +# This tests mkfs_udf/mkudffs and the device detection code +# Modified from UDFQA test 031. +# +#----------------------------------------------------------------------- +# Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. +# +# 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. +# +# This program is distributed in the hope that it would 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 the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +#----------------------------------------------------------------------- +# + +seq=`basename $0` +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_cleanup; exit \$status" 0 1 2 3 15 + +_cleanup() +{ + rm -f $tmp.* + cd / + _cleanup_testdir +} +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +# real QA test starts here +_supported_fs udf +_supported_os Linux IRIX + +_require_scratch +_setup_udf_scratchdir + +# Checks the udf filesystem +_check_udf_filesystem $SCRATCH_DEV + +echo "Finished" + +# success, all done +status=0 +exit diff --git a/tests/udf/102.out b/tests/udf/102.out new file mode 100644 index 00000000..bce1a19d --- /dev/null +++ b/tests/udf/102.out @@ -0,0 +1,2 @@ +QA output created by 102 +Finished diff --git a/tests/udf/group b/tests/udf/group new file mode 100644 index 00000000..24f682cc --- /dev/null +++ b/tests/udf/group @@ -0,0 +1,8 @@ +# QA groups control file +# Defines test groups and nominal group owners +# - do not start group names with a digit +# - comment line before each group is "new" description +# +098 udf auto +101 udf +102 udf |