Btrfs: Make ACLs return EOPNOTSUPP for now
There was a slight problem with ACL's returning EINVAL when you tried to set an
ACL. This isn't correct, we should be returning EOPNOTSUPP, so I did a very
ugly thing and just commented everybody out and made them return EOPNOTSUPP.
This is only temporary, I'm going back to implement ACL's, but Chris wants to
push out a release so this will suffice for now.
Also Yan suggested setting reada to -1 in the delete case to enable backwards
readahead, and in the listxattr case I moved path->reada = 2; to after the if
(!path) check so we can avoid a possible null dereference. Thank you,
Signed-off-by: Chris Mason <chris.mason@oracle.com>
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
index aee9f06..889ba89 100644
--- a/fs/btrfs/acl.c
+++ b/fs/btrfs/acl.c
@@ -23,32 +23,50 @@
#include "ctree.h"
#include "xattr.h"
+/*
+ * FIXME: At this point this is all place holder stuff, we just return
+ * -EOPNOTSUPP so cp won't complain when it tries to copy over a file with an
+ * acl on it.
+ */
+
static int btrfs_xattr_acl_access_get(struct inode *inode, const char *name,
void *value, size_t size)
{
+ /*
return btrfs_xattr_get(inode, BTRFS_XATTR_INDEX_POSIX_ACL_ACCESS, name,
value, size);
+ */
+ return -EOPNOTSUPP;
}
static int btrfs_xattr_acl_access_set(struct inode *inode, const char *name,
const void *value, size_t size, int flags)
{
+ /*
return btrfs_xattr_set(inode, BTRFS_XATTR_INDEX_POSIX_ACL_ACCESS, name,
value, size, flags);
+ */
+ return -EOPNOTSUPP;
}
static int btrfs_xattr_acl_default_get(struct inode *inode, const char *name,
void *value, size_t size)
{
+ /*
return btrfs_xattr_get(inode, BTRFS_XATTR_INDEX_POSIX_ACL_DEFAULT,
name, value, size);
+ */
+ return -EOPNOTSUPP;
}
static int btrfs_xattr_acl_default_set(struct inode *inode, const char *name,
const void *value, size_t size, int flags)
{
+ /*
return btrfs_xattr_set(inode, BTRFS_XATTR_INDEX_POSIX_ACL_DEFAULT,
name, value, size, flags);
+ */
+ return -EOPNOTSUPP;
}
struct xattr_handler btrfs_xattr_acl_default_handler = {