From: Andreas Gruenbacher Date: Mon, 9 Oct 2017 15:55:58 +0000 (+0200) Subject: gfs2: Add support for statx inode flags X-Git-Tag: v4.19~2217^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b2623c2fe6eb1f757eff5a8fb515fe584caac667;p=platform%2Fkernel%2Flinux-rpi.git gfs2: Add support for statx inode flags Add support for the STATX_ATTR_ flags in statx. (Compression, encryption, and the nodump flag are not supported by gfs2.) Partially fixes xfstest generic/424. Signed-off-by: Andreas Gruenbacher Reviewed-by: Andrew Price Signed-off-by: Bob Peterson --- diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 4749a6b..4e971b1 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -1987,6 +1987,7 @@ static int gfs2_getattr(const struct path *path, struct kstat *stat, struct inode *inode = d_inode(path->dentry); struct gfs2_inode *ip = GFS2_I(inode); struct gfs2_holder gh; + u32 gfsflags; int error; gfs2_holder_mark_uninitialized(&gh); @@ -1996,7 +1997,20 @@ static int gfs2_getattr(const struct path *path, struct kstat *stat, return error; } + gfsflags = ip->i_diskflags; + if (gfsflags & GFS2_DIF_APPENDONLY) + stat->attributes |= STATX_ATTR_APPEND; + if (gfsflags & GFS2_DIF_IMMUTABLE) + stat->attributes |= STATX_ATTR_IMMUTABLE; + + stat->attributes_mask |= (STATX_ATTR_APPEND | + STATX_ATTR_COMPRESSED | + STATX_ATTR_ENCRYPTED | + STATX_ATTR_IMMUTABLE | + STATX_ATTR_NODUMP); + generic_fillattr(inode, stat); + if (gfs2_holder_initialized(&gh)) gfs2_glock_dq_uninit(&gh);