namei.c (d83d0f5ba8532e649146ac32ae47167a28d98c84) | namei.c (4354994f097d068a894aa1a0860da54571df3582) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * fs/f2fs/namei.c 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com/ 7 */ 8#include <linux/fs.h> 9#include <linux/f2fs_fs.h> 10#include <linux/pagemap.h> 11#include <linux/sched.h> 12#include <linux/ctype.h> 13#include <linux/dcache.h> 14#include <linux/namei.h> 15#include <linux/quotaops.h> 16 17#include "f2fs.h" 18#include "node.h" | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * fs/f2fs/namei.c 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com/ 7 */ 8#include <linux/fs.h> 9#include <linux/f2fs_fs.h> 10#include <linux/pagemap.h> 11#include <linux/sched.h> 12#include <linux/ctype.h> 13#include <linux/dcache.h> 14#include <linux/namei.h> 15#include <linux/quotaops.h> 16 17#include "f2fs.h" 18#include "node.h" |
19#include "segment.h" |
|
19#include "xattr.h" 20#include "acl.h" 21#include <trace/events/f2fs.h> 22 23static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode) 24{ 25 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 26 nid_t ino; --- 237 unchanged lines hidden (view full) --- 264{ 265 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 266 struct inode *inode; 267 nid_t ino = 0; 268 int err; 269 270 if (unlikely(f2fs_cp_error(sbi))) 271 return -EIO; | 20#include "xattr.h" 21#include "acl.h" 22#include <trace/events/f2fs.h> 23 24static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode) 25{ 26 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 27 nid_t ino; --- 237 unchanged lines hidden (view full) --- 265{ 266 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 267 struct inode *inode; 268 nid_t ino = 0; 269 int err; 270 271 if (unlikely(f2fs_cp_error(sbi))) 272 return -EIO; |
273 err = f2fs_is_checkpoint_ready(sbi); 274 if (err) 275 return err; |
|
272 273 err = dquot_initialize(dir); 274 if (err) 275 return err; 276 277 inode = f2fs_new_inode(dir, mode); 278 if (IS_ERR(inode)) 279 return PTR_ERR(inode); --- 30 unchanged lines hidden (view full) --- 310 struct dentry *dentry) 311{ 312 struct inode *inode = d_inode(old_dentry); 313 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 314 int err; 315 316 if (unlikely(f2fs_cp_error(sbi))) 317 return -EIO; | 276 277 err = dquot_initialize(dir); 278 if (err) 279 return err; 280 281 inode = f2fs_new_inode(dir, mode); 282 if (IS_ERR(inode)) 283 return PTR_ERR(inode); --- 30 unchanged lines hidden (view full) --- 314 struct dentry *dentry) 315{ 316 struct inode *inode = d_inode(old_dentry); 317 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 318 int err; 319 320 if (unlikely(f2fs_cp_error(sbi))) 321 return -EIO; |
322 err = f2fs_is_checkpoint_ready(sbi); 323 if (err) 324 return err; |
|
318 319 err = fscrypt_prepare_link(old_dentry, dir, dentry); 320 if (err) 321 return err; 322 323 if (is_inode_flag_set(dir, FI_PROJ_INHERIT) && 324 (!projid_eq(F2FS_I(dir)->i_projid, 325 F2FS_I(old_dentry->d_inode)->i_projid))) --- 230 unchanged lines hidden (view full) --- 556 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 557 struct inode *inode; 558 size_t len = strlen(symname); 559 struct fscrypt_str disk_link; 560 int err; 561 562 if (unlikely(f2fs_cp_error(sbi))) 563 return -EIO; | 325 326 err = fscrypt_prepare_link(old_dentry, dir, dentry); 327 if (err) 328 return err; 329 330 if (is_inode_flag_set(dir, FI_PROJ_INHERIT) && 331 (!projid_eq(F2FS_I(dir)->i_projid, 332 F2FS_I(old_dentry->d_inode)->i_projid))) --- 230 unchanged lines hidden (view full) --- 563 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 564 struct inode *inode; 565 size_t len = strlen(symname); 566 struct fscrypt_str disk_link; 567 int err; 568 569 if (unlikely(f2fs_cp_error(sbi))) 570 return -EIO; |
571 err = f2fs_is_checkpoint_ready(sbi); 572 if (err) 573 return err; |
|
564 565 err = fscrypt_prepare_symlink(dir, symname, len, dir->i_sb->s_blocksize, 566 &disk_link); 567 if (err) 568 return err; 569 570 err = dquot_initialize(dir); 571 if (err) --- 113 unchanged lines hidden (view full) --- 685 umode_t mode, dev_t rdev) 686{ 687 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 688 struct inode *inode; 689 int err = 0; 690 691 if (unlikely(f2fs_cp_error(sbi))) 692 return -EIO; | 574 575 err = fscrypt_prepare_symlink(dir, symname, len, dir->i_sb->s_blocksize, 576 &disk_link); 577 if (err) 578 return err; 579 580 err = dquot_initialize(dir); 581 if (err) --- 113 unchanged lines hidden (view full) --- 695 umode_t mode, dev_t rdev) 696{ 697 struct f2fs_sb_info *sbi = F2FS_I_SB(dir); 698 struct inode *inode; 699 int err = 0; 700 701 if (unlikely(f2fs_cp_error(sbi))) 702 return -EIO; |
703 err = f2fs_is_checkpoint_ready(sbi); 704 if (err) 705 return err; |
|
693 694 err = dquot_initialize(dir); 695 if (err) 696 return err; 697 698 inode = f2fs_new_inode(dir, mode); 699 if (IS_ERR(inode)) 700 return PTR_ERR(inode); --- 118 unchanged lines hidden (view full) --- 819 struct f2fs_dir_entry *old_dir_entry = NULL; 820 struct f2fs_dir_entry *old_entry; 821 struct f2fs_dir_entry *new_entry; 822 bool is_old_inline = f2fs_has_inline_dentry(old_dir); 823 int err; 824 825 if (unlikely(f2fs_cp_error(sbi))) 826 return -EIO; | 706 707 err = dquot_initialize(dir); 708 if (err) 709 return err; 710 711 inode = f2fs_new_inode(dir, mode); 712 if (IS_ERR(inode)) 713 return PTR_ERR(inode); --- 118 unchanged lines hidden (view full) --- 832 struct f2fs_dir_entry *old_dir_entry = NULL; 833 struct f2fs_dir_entry *old_entry; 834 struct f2fs_dir_entry *new_entry; 835 bool is_old_inline = f2fs_has_inline_dentry(old_dir); 836 int err; 837 838 if (unlikely(f2fs_cp_error(sbi))) 839 return -EIO; |
840 err = f2fs_is_checkpoint_ready(sbi); 841 if (err) 842 return err; |
|
827 828 if (is_inode_flag_set(new_dir, FI_PROJ_INHERIT) && 829 (!projid_eq(F2FS_I(new_dir)->i_projid, 830 F2FS_I(old_dentry->d_inode)->i_projid))) 831 return -EXDEV; 832 833 err = dquot_initialize(old_dir); 834 if (err) --- 174 unchanged lines hidden (view full) --- 1009 struct page *old_page, *new_page; 1010 struct f2fs_dir_entry *old_dir_entry = NULL, *new_dir_entry = NULL; 1011 struct f2fs_dir_entry *old_entry, *new_entry; 1012 int old_nlink = 0, new_nlink = 0; 1013 int err; 1014 1015 if (unlikely(f2fs_cp_error(sbi))) 1016 return -EIO; | 843 844 if (is_inode_flag_set(new_dir, FI_PROJ_INHERIT) && 845 (!projid_eq(F2FS_I(new_dir)->i_projid, 846 F2FS_I(old_dentry->d_inode)->i_projid))) 847 return -EXDEV; 848 849 err = dquot_initialize(old_dir); 850 if (err) --- 174 unchanged lines hidden (view full) --- 1025 struct page *old_page, *new_page; 1026 struct f2fs_dir_entry *old_dir_entry = NULL, *new_dir_entry = NULL; 1027 struct f2fs_dir_entry *old_entry, *new_entry; 1028 int old_nlink = 0, new_nlink = 0; 1029 int err; 1030 1031 if (unlikely(f2fs_cp_error(sbi))) 1032 return -EIO; |
1033 err = f2fs_is_checkpoint_ready(sbi); 1034 if (err) 1035 return err; |
|
1017 1018 if ((is_inode_flag_set(new_dir, FI_PROJ_INHERIT) && 1019 !projid_eq(F2FS_I(new_dir)->i_projid, 1020 F2FS_I(old_dentry->d_inode)->i_projid)) || 1021 (is_inode_flag_set(new_dir, FI_PROJ_INHERIT) && 1022 !projid_eq(F2FS_I(old_dir)->i_projid, 1023 F2FS_I(new_dentry->d_inode)->i_projid))) 1024 return -EXDEV; --- 222 unchanged lines hidden --- | 1036 1037 if ((is_inode_flag_set(new_dir, FI_PROJ_INHERIT) && 1038 !projid_eq(F2FS_I(new_dir)->i_projid, 1039 F2FS_I(old_dentry->d_inode)->i_projid)) || 1040 (is_inode_flag_set(new_dir, FI_PROJ_INHERIT) && 1041 !projid_eq(F2FS_I(old_dir)->i_projid, 1042 F2FS_I(new_dentry->d_inode)->i_projid))) 1043 return -EXDEV; --- 222 unchanged lines hidden --- |