acl.c (712cba5d87a6c0e980ee5fad45734e189c4d7151) acl.c (7c45729a4d6d1c90879e6c5c2df325c2f6db7191)
1/*
2 * fs/f2fs/acl.c
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * Portions of this code from linux/fs/ext2/acl.c
8 *

--- 370 unchanged lines hidden (view full) ---

379{
380 struct posix_acl *default_acl = NULL, *acl = NULL;
381 int error = 0;
382
383 error = f2fs_acl_create(dir, &inode->i_mode, &default_acl, &acl, dpage);
384 if (error)
385 return error;
386
1/*
2 * fs/f2fs/acl.c
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * Portions of this code from linux/fs/ext2/acl.c
8 *

--- 370 unchanged lines hidden (view full) ---

379{
380 struct posix_acl *default_acl = NULL, *acl = NULL;
381 int error = 0;
382
383 error = f2fs_acl_create(dir, &inode->i_mode, &default_acl, &acl, dpage);
384 if (error)
385 return error;
386
387 f2fs_mark_inode_dirty_sync(inode);
387 f2fs_mark_inode_dirty_sync(inode, true);
388
389 if (default_acl) {
390 error = __f2fs_set_acl(inode, ACL_TYPE_DEFAULT, default_acl,
391 ipage);
392 posix_acl_release(default_acl);
393 }
394 if (acl) {
395 if (!error)
396 error = __f2fs_set_acl(inode, ACL_TYPE_ACCESS, acl,
397 ipage);
398 posix_acl_release(acl);
399 }
400
401 return error;
402}
388
389 if (default_acl) {
390 error = __f2fs_set_acl(inode, ACL_TYPE_DEFAULT, default_acl,
391 ipage);
392 posix_acl_release(default_acl);
393 }
394 if (acl) {
395 if (!error)
396 error = __f2fs_set_acl(inode, ACL_TYPE_ACCESS, acl,
397 ipage);
398 posix_acl_release(acl);
399 }
400
401 return error;
402}