9 static void print_xattrib_val(const char *path, const char *name)
14 n = getxattr(path,name,buffer,sizeof(buffer));
16 uint8_t *b = (uint8_t *)buffer;
18 printf("%d bytes:",n);
26 printf(" Novalue result %d\n",n);
29 static void list_xattr(const char *path)
36 list_len = listxattr(path,list,sizeof(list));
37 printf("xattribs for %s, result is %d\n",path,list_len);
39 len = strlen(list + n);
40 printf("\"%s\" value ",list+n);
41 print_xattrib_val(path,list + n);
48 void basic_xattr_test(const char *mountpt)
62 h = open(name,O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE);
68 printf("Add an attribute\n");
70 result = setxattr(name,"foo",&val1,sizeof(val1),0);
71 printf("wrote attribute foo: result %d\n",result);
73 printf("Add an attribute\n");
75 result = setxattr(name,"bar",&val1,sizeof(val1),0);
76 printf("wrote attribute bar: result %d\n",result);
79 printf("Get non-existanrt attribute\n");
80 print_xattrib_val(name,"not here");
82 printf("Delete non existing attribute\n");
83 removexattr(name,"not here");
86 printf("Remove foo\n");
87 removexattr(name,"foo");
90 printf("Remove bar\n");
91 removexattr(name,"bar");
98 int simulate_power_failure;
100 int main(int argc, char *argv[])
102 basic_xattr_test("/mnt/");