aboutsummaryrefslogtreecommitdiffstats
path: root/lib/string_helpers.c
diff options
context:
space:
mode:
authorIustin Pop <[email protected]>2015-02-01 23:26:26 +0000
committerDave Chinner <[email protected]>2015-02-01 23:26:26 +0000
commit9b94fcc39822b450af823b3d8cbef6b53ce87ed9 (patch)
tree1b663a4ca38574d135b903c2242728234db23a49 /lib/string_helpers.c
parentxfs: factor projid hint checking out of xfs_ioctl_setattr (diff)
downloadkernel-9b94fcc39822b450af823b3d8cbef6b53ce87ed9.tar.gz
kernel-9b94fcc39822b450af823b3d8cbef6b53ce87ed9.zip
xfs: fix behaviour of XFS_IOC_FSSETXATTR on directories
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. [dchinner: ported changes onto cleanup series. Makes changes clear and obvious.] [dchinner: added comments documenting validity checking rules.] Signed-off-by: Iustin Pop <[email protected]> Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Brian Foster <[email protected]> Signed-off-by: Dave Chinner <[email protected]>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions