On Fri, Dec 05, 2014 at 11:11:48AM +1100, Dave Chinner wrote: > On Thu, Dec 04, 2014 at 05:14:26AM +0100, Iustin Pop wrote: > > Currently, the ioctl handling code for XFS_IOC_FSSETXATTR treats all > > targets as regular files: it refuses to change the extent size if > > extents are allocated. This is wrong for directories, as there the > > extent size is only used as a default for children. > > > > The patch fixes this issue and improves validation of flag > > combinations: > > > > - only disallow extent size changes after extents have been allocated > > for regular files > > - only allow XFS_XFLAG_EXTSIZE for regular files > > - only allow XFS_XFLAG_EXTSZINHERIT for directories > > - automatically clear the flags if the extent size is zero > > > > Thanks to Dave Chinner for guidance on the proper fix for this issue. > > I'll have to remind myself of the context again - I think I have > some patches in my local queue that I never finished that kill a lot > of the mess around this code. I put that at the head of next week's > queue... Yep, I had forgotten myself what was the status, and had to reread through the old email thread. That's what happens when you leave a patch "rot" for so long :) And yes, the code in this function is a bit hard to follow, since the various checks are spread around. Cleaning this up would be good; I only care that when next time I run an xfsrestore, it won't fail to set the extent sizes correctly on directories :) thanks! iustin _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs