Re: [PATCH v2 4/5] btrfs: don't allow -C or +c chattrs on a swap file

From: David Sterba
Date: Fri Nov 21 2014 - 12:29:17 EST


On Fri, Nov 21, 2014 at 02:08:30AM -0800, Omar Sandoval wrote:
> @@ -293,14 +293,21 @@ static int btrfs_ioctl_setflags(struct file *file, void __user *arg)
> }
> } else {

You can put the condition here, instead of shifting the nested block.

} else if (!IS_SWAPFILE(inode)) {

> /*
> - * Revert back under same assuptions as above
> + * swap_activate checks that we don't swapon a copy-on-write
> + * file, but we must also make sure that it doesn't become
> + * copy-on-write.
> */
> - if (S_ISREG(mode)) {
> - if (inode->i_size == 0)
> - ip->flags &= ~(BTRFS_INODE_NODATACOW
> - | BTRFS_INODE_NODATASUM);
> - } else {
> - ip->flags &= ~BTRFS_INODE_NODATACOW;
> + if (!IS_SWAPFILE(inode)) {
> + /*
> + * Revert back under same assumptions as above
> + */
> + if (S_ISREG(mode)) {
> + if (inode->i_size == 0)
> + ip->flags &= ~(BTRFS_INODE_NODATACOW |
> + BTRFS_INODE_NODATASUM);
> + } else {
> + ip->flags &= ~BTRFS_INODE_NODATACOW;
> + }
> }
> }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/