Re: bug? "directory flags set on non-directory inode 2877105"

Arkadiusz Miśkiewicz
2012-07-05T08:36:17Z

On Wednesday 04 of July 2012, Dave Chinner wrote:
> On Wed, Jul 04, 2012 at 05:59:05PM +0200, Arkadiusz Miśkiewicz wrote:
> > Hi.
> >
> > On two servers using 3.0.x kernels I've got like 10 mln of "directory
> > flags set on non-directory inode xxx" errors when doing xfs_repair.
> > Doesn't look like a corruption issue, right?
>
> Can you run a xfs_io stat command on one ofthe files so we can see
> what flag is set? i.e.
>
> $ xfs_io -c stat $file

Third machine and P flag is there on regular file:

# LC_ALL=C xfs_io -c stat /home/somefile.txt
fd.path = "/home/somefile.txt"
fd.flags = non-sync,non-direct,read-write
stat.ino = 2169031643
stat.type = regular file
stat.size = 4934
stat.blocks = 16
fsxattr.xflags = 0x200 [--------P-----]
fsxattr.projid = 45039
fsxattr.extsize = 0
fsxattr.nextents = 1
fsxattr.naextents = 0
dioattr.mem = 0x200
dioattr.miniosz = 512
dioattr.maxiosz = 2147483136

>
> > Was there a bug in 2.6.3x or 3.0.x kernels that could get these flags set
> > in such wrong way?
>
> Not that I know of.
>
> > ps. using project quota on both servers/fses
>
> Which makes me think that the project quota inheritance flag has
> been recursively set on all files, not just directories. The code
> allows that to occur, even though it only has meaning for directory
> inodes. If this is the case, then the above warning and removal of
> the flag is harmless.

Seems to be it.

xfs_quota probably needs a fix to don't do that then when in recursive mode.

> Cheers,
>
> Dave.

--
Arkadiusz Miśkiewicz, arekm / maven.pl