aboutsummaryrefslogtreecommitdiffstats
path: root/fs/posix_acl.c
diff options
context:
space:
mode:
authorarter97 <qkrwngud825@gmail.com>2014-01-07 14:29:31 +0900
committerrogersb11 <brettrogers11@gmail.com>2016-02-13 21:04:16 -0500
commitd4322cd694ca73be92c2b6f8d96226ba4734bd6a (patch)
tree80f46e6ddded2943b30961b2f7457f890d264f70 /fs/posix_acl.c
parent6307d43c25ee624ae51cd5b56c85f9fa88af3b6a (diff)
downloadkernel_samsung_smdk4412-d4322cd694ca73be92c2b6f8d96226ba4734bd6a.zip
kernel_samsung_smdk4412-d4322cd694ca73be92c2b6f8d96226ba4734bd6a.tar.gz
kernel_samsung_smdk4412-d4322cd694ca73be92c2b6f8d96226ba4734bd6a.tar.bz2
f2fs: support 3.0
Initial backporting done by nowcomputing, (https://github.com/nowcomputing/f2fs-backports.git) Additional patches required by upstream jaegeuk/f2fs.git/linux-3.4 done by arter97. Change-Id: Ibbd3a608857338482f974fa4b1a8d3c02c267d9f Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Diffstat (limited to 'fs/posix_acl.c')
-rw-r--r--fs/posix_acl.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/fs/posix_acl.c b/fs/posix_acl.c
index b1cf6bf..365a071 100644
--- a/fs/posix_acl.c
+++ b/fs/posix_acl.c
@@ -386,3 +386,39 @@ posix_acl_chmod_masq(struct posix_acl *acl, mode_t mode)
return 0;
}
+
+int
+posix_acl_create(struct posix_acl **acl, gfp_t gfp, mode_t *mode_p)
+{
+ struct posix_acl *clone = posix_acl_clone(*acl, gfp);
+ int err = -ENOMEM;
+ if (clone) {
+ err = posix_acl_create_masq(clone, mode_p);
+ if (err < 0) {
+ posix_acl_release(clone);
+ clone = NULL;
+ }
+ }
+ posix_acl_release(*acl);
+ *acl = clone;
+ return err;
+}
+EXPORT_SYMBOL(posix_acl_create);
+
+int
+posix_acl_chmod(struct posix_acl **acl, gfp_t gfp, mode_t mode)
+{
+ struct posix_acl *clone = posix_acl_clone(*acl, gfp);
+ int err = -ENOMEM;
+ if (clone) {
+ err = posix_acl_chmod_masq(clone, mode);
+ if (err) {
+ posix_acl_release(clone);
+ clone = NULL;
+ }
+ }
+ posix_acl_release(*acl);
+ *acl = clone;
+ return err;
+}
+EXPORT_SYMBOL(posix_acl_chmod);