summaryrefslogtreecommitdiffstats
path: root/btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-u...
diff options
context:
space:
mode:
authorJesse Keating <jkeating@redhat.com>2010-07-29 17:18:45 -0700
committerJesse Keating <jkeating@redhat.com>2010-07-29 17:18:45 -0700
commit2f82dda4a9bf41e64e864889bf06564bdf826e25 (patch)
tree118a7b483ae5de4dbf83d20001302f1404866ef0 /btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-used.patch
parent64ba2e5ffde5f2418eb26c700cb0ab62b04e5013 (diff)
downloaddom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.tar.gz
dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.tar.xz
dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.zip
initial srpm import
Diffstat (limited to 'btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-used.patch')
-rw-r--r--btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-used.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-used.patch b/btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-used.patch
new file mode 100644
index 0000000..0792603
--- /dev/null
+++ b/btrfs-prohibit-a-operation-of-changing-acls-mask-when-noacl-mount-option-is-used.patch
@@ -0,0 +1,42 @@
+From: Shi Weihua <shiwh@cn.fujitsu.com>
+Date: Tue, 18 May 2010 00:51:54 +0000 (+0000)
+Subject: Btrfs: prohibit a operation of changing acl's mask when noacl mount option used
+X-Git-Tag: v2.6.35-rc3~3^2~3
+X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=731e3d1b
+
+Btrfs: prohibit a operation of changing acl's mask when noacl mount option used
+
+when used Posix File System Test Suite(pjd-fstest) to test btrfs,
+some cases about setfacl failed when noacl mount option used.
+I simplified used commands in pjd-fstest, and the following steps
+can reproduce it.
+------------------------
+# cd btrfs-part/
+# mkdir aaa
+# setfacl -m m::rw aaa <- successed, but not expected by pjd-fstest.
+------------------------
+I checked ext3, a warning message occured, like as:
+ setfacl: aaa/: Operation not supported
+Certainly, it's expected by pjd-fstest.
+
+So, i compared acl.c of btrfs and ext3. Based on that, a patch created.
+Fortunately, it works.
+
+Signed-off-by: Shi Weihua <shiwh@cn.fujitsu.com>
+Signed-off-by: Chris Mason <chris.mason@oracle.com>
+---
+
+diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
+index 6b4d0cc..a372985 100644
+--- a/fs/btrfs/acl.c
++++ b/fs/btrfs/acl.c
+@@ -163,6 +163,9 @@ static int btrfs_xattr_acl_set(struct dentry *dentry, const char *name,
+ if (!is_owner_or_cap(inode))
+ return -EPERM;
+
++ if (!IS_POSIXACL(inode))
++ return -EOPNOTSUPP;
++
+ if (value) {
+ acl = posix_acl_from_xattr(value, size);
+ if (acl == NULL) {