Bug 762410 (GLUSTER-678)

Summary: chattr: Function not implemented
Product: [Community] GlusterFS Reporter: Lakshmipathi G <lakshmipathi>
Component: fuseAssignee: Csaba Henk <csaba>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: mainlineCC: fharshav, gluster-bugs, jbyers, shehjart, vikas
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Harshavardhana 2010-02-24 06:36:39 UTC
Looks like fuse needs to implement 

FS_IOC_GETFLAGS/SETFLAGS/GETVERSION for attributes set via chattr and read via lsattr)

Comment 1 Lakshmipathi G 2010-02-24 09:00:32 UTC
Following error message displayed,while trying to set a file as immutable.

mntpt$chattr +i file.txt 
chattr: Function not implemented while reading flags on file.txt

Comment 2 Vikas Gorur 2010-02-24 13:36:26 UTC
chattr is specific to Ext3/4 filesystems. There is no need to implement them in FUSE or GlusterFS. Please mark this as invalid.

Comment 3 Harshavardhana 2010-02-24 14:10:15 UTC
chattr is not just a ext based implementation since recent kernels 2.6.31 they are supported on brtfs and xfs implementations i guess they are the below attributes i mentioned in my earlier comment.

internally for chattr a ioctl call in invoked which does a FS_IOC_GETFLAGS which is a standard flag for ioctl refer linux/fs.h kernel 2.6.31.

Comment 4 Csaba Henk 2010-02-24 20:43:11 UTC
(In reply to comment #3)
> chattr is not just a ext based implementation since recent kernels 2.6.31 they
> are supported on brtfs and xfs implementations i guess they are the below
> attributes i mentioned in my earlier comment.
> 
> internally for chattr a ioctl call in invoked which does a FS_IOC_GETFLAGS
> which is a standard flag for ioctl refer linux/fs.h kernel 2.6.31.

Hmm, AFAICS it's called EXT2_IOC_SETFLAGS... but yeah, it works on xfs.

Recent FUSE has ioctl support so if it's a needed feature I can look if it's feasible (however, if it's needed in one specific setup and not in general, then there is not much we could do if the kernel is older than FUSE got ioctls).

Csaba