aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/eattr.c
diff options
context:
space:
mode:
authorRyan O'Hara <rohara@redhat.com>2006-05-22 10:08:35 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-05-22 10:08:35 -0400
commit639b6d79b8c20cce4079fb035640c65456324d1c (patch)
treeef3cf33f8b7f3d943ced0e461e1987cd34fc8c42 /fs/gfs2/eattr.c
parentd2f222e6310b073ae3d91b8d3d676621fae1314e (diff)
[GFS2] selinux support
This adds support to GFS2 for selinux extended attributes. There is a known bug in gfs2_ea_get() which is believed to be independant of this patch. Further patches will follow once that bug is fixed in order to make GFS2 use as much of the generic eattr infrastructure as possible. Signed-off-by: Ryan O'Hara <rohara@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/eattr.c')
-rw-r--r--fs/gfs2/eattr.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/fs/gfs2/eattr.c b/fs/gfs2/eattr.c
index f5169a42a919..187fba1c4678 100644
--- a/fs/gfs2/eattr.c
+++ b/fs/gfs2/eattr.c
@@ -368,7 +368,7 @@ static int ea_list_i(struct gfs2_inode *ip, struct buffer_head *bh,
368{ 368{
369 struct ea_list *ei = private; 369 struct ea_list *ei = private;
370 struct gfs2_ea_request *er = ei->ei_er; 370 struct gfs2_ea_request *er = ei->ei_er;
371 unsigned int ea_size = GFS2_EA_STRLEN(ea); 371 unsigned int ea_size = gfs2_ea_strlen(ea);
372 372
373 if (ea->ea_type == GFS2_EATYPE_UNUSED) 373 if (ea->ea_type == GFS2_EATYPE_UNUSED)
374 return 0; 374 return 0;
@@ -381,12 +381,21 @@ static int ea_list_i(struct gfs2_inode *ip, struct buffer_head *bh,
381 if (ei->ei_size + ea_size > er->er_data_len) 381 if (ei->ei_size + ea_size > er->er_data_len)
382 return -ERANGE; 382 return -ERANGE;
383 383
384 if (ea->ea_type == GFS2_EATYPE_USR) { 384 switch (ea->ea_type) {
385 case GFS2_EATYPE_USR:
385 prefix = "user."; 386 prefix = "user.";
386 l = 5; 387 l = 5;
387 } else { 388 break;
389 case GFS2_EATYPE_SYS:
388 prefix = "system."; 390 prefix = "system.";
389 l = 7; 391 l = 7;
392 break;
393 case GFS2_EATYPE_SECURITY:
394 prefix = "security.";
395 l = 9;
396 break;
397 default:
398 break;
390 } 399 }
391 400
392 memcpy(er->er_data + ei->ei_size, 401 memcpy(er->er_data + ei->ei_size,