diff options
| -rw-r--r-- | fs/overlayfs/file.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/overlayfs/file.c b/fs/overlayfs/file.c index 540a8b845145..340a6ad45914 100644 --- a/fs/overlayfs/file.c +++ b/fs/overlayfs/file.c | |||
| @@ -426,7 +426,8 @@ static unsigned int ovl_get_inode_flags(struct inode *inode) | |||
| 426 | return ovl_iflags; | 426 | return ovl_iflags; |
| 427 | } | 427 | } |
| 428 | 428 | ||
| 429 | static long ovl_ioctl_set_flags(struct file *file, unsigned long arg) | 429 | static long ovl_ioctl_set_flags(struct file *file, unsigned int cmd, |
| 430 | unsigned long arg) | ||
| 430 | { | 431 | { |
| 431 | long ret; | 432 | long ret; |
| 432 | struct inode *inode = file_inode(file); | 433 | struct inode *inode = file_inode(file); |
| @@ -456,7 +457,7 @@ static long ovl_ioctl_set_flags(struct file *file, unsigned long arg) | |||
| 456 | if (ret) | 457 | if (ret) |
| 457 | goto unlock; | 458 | goto unlock; |
| 458 | 459 | ||
| 459 | ret = ovl_real_ioctl(file, FS_IOC_SETFLAGS, arg); | 460 | ret = ovl_real_ioctl(file, cmd, arg); |
| 460 | 461 | ||
| 461 | ovl_copyflags(ovl_inode_real(inode), inode); | 462 | ovl_copyflags(ovl_inode_real(inode), inode); |
| 462 | unlock: | 463 | unlock: |
| @@ -474,11 +475,13 @@ static long ovl_ioctl(struct file *file, unsigned int cmd, unsigned long arg) | |||
| 474 | 475 | ||
| 475 | switch (cmd) { | 476 | switch (cmd) { |
| 476 | case FS_IOC_GETFLAGS: | 477 | case FS_IOC_GETFLAGS: |
| 478 | case FS_IOC_FSGETXATTR: | ||
| 477 | ret = ovl_real_ioctl(file, cmd, arg); | 479 | ret = ovl_real_ioctl(file, cmd, arg); |
| 478 | break; | 480 | break; |
| 479 | 481 | ||
| 480 | case FS_IOC_SETFLAGS: | 482 | case FS_IOC_SETFLAGS: |
| 481 | ret = ovl_ioctl_set_flags(file, arg); | 483 | case FS_IOC_FSSETXATTR: |
| 484 | ret = ovl_ioctl_set_flags(file, cmd, arg); | ||
| 482 | break; | 485 | break; |
| 483 | 486 | ||
| 484 | default: | 487 | default: |
