namei.c (585a78c1f77be305b1f6adad392f16047fb66ffd) namei.c (39c1ce8eafc0ff64fb9e28536ccc7df6a8e2999d)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2012-2013 Samsung Electronics Co., Ltd.
4 */
5
6#include <linux/iversion.h>
7#include <linux/namei.h>
8#include <linux/slab.h>

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

391 p_dir->size++;
392 size = EXFAT_CLU_TO_B(p_dir->size, sbi);
393
394 /* directory inode should be updated in here */
395 i_size_write(inode, size);
396 ei->i_size_ondisk += sbi->cluster_size;
397 ei->i_size_aligned += sbi->cluster_size;
398 ei->flags = p_dir->flags;
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright (C) 2012-2013 Samsung Electronics Co., Ltd.
4 */
5
6#include <linux/iversion.h>
7#include <linux/namei.h>
8#include <linux/slab.h>

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

391 p_dir->size++;
392 size = EXFAT_CLU_TO_B(p_dir->size, sbi);
393
394 /* directory inode should be updated in here */
395 i_size_write(inode, size);
396 ei->i_size_ondisk += sbi->cluster_size;
397 ei->i_size_aligned += sbi->cluster_size;
398 ei->flags = p_dir->flags;
399 inode->i_blocks += 1 << sbi->sect_per_clus_bits;
399 inode->i_blocks += sbi->cluster_size >> 9;
400 }
401
402 return dentry;
403}
404
405/*
406 * Name Resolution Functions :
407 * Zero if it was successful; otherwise nonzero.

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

546 }
547 memset(&info->crtime, 0, sizeof(info->crtime));
548 memset(&info->mtime, 0, sizeof(info->mtime));
549 memset(&info->atime, 0, sizeof(info->atime));
550out:
551 return ret;
552}
553
400 }
401
402 return dentry;
403}
404
405/*
406 * Name Resolution Functions :
407 * Zero if it was successful; otherwise nonzero.

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

546 }
547 memset(&info->crtime, 0, sizeof(info->crtime));
548 memset(&info->mtime, 0, sizeof(info->mtime));
549 memset(&info->atime, 0, sizeof(info->atime));
550out:
551 return ret;
552}
553
554static int exfat_create(struct mnt_idmap *idmap, struct inode *dir,
554static int exfat_create(struct user_namespace *mnt_userns, struct inode *dir,
555 struct dentry *dentry, umode_t mode, bool excl)
556{
557 struct super_block *sb = dir->i_sb;
558 struct inode *inode;
559 struct exfat_chain cdir;
560 struct exfat_dir_entry info;
561 loff_t i_pos;
562 int err;

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

829 exfat_truncate_atime(&inode->i_atime);
830 exfat_unhash_inode(inode);
831 exfat_d_version_set(dentry, inode_query_iversion(dir));
832unlock:
833 mutex_unlock(&EXFAT_SB(sb)->s_lock);
834 return err;
835}
836
555 struct dentry *dentry, umode_t mode, bool excl)
556{
557 struct super_block *sb = dir->i_sb;
558 struct inode *inode;
559 struct exfat_chain cdir;
560 struct exfat_dir_entry info;
561 loff_t i_pos;
562 int err;

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

829 exfat_truncate_atime(&inode->i_atime);
830 exfat_unhash_inode(inode);
831 exfat_d_version_set(dentry, inode_query_iversion(dir));
832unlock:
833 mutex_unlock(&EXFAT_SB(sb)->s_lock);
834 return err;
835}
836
837static int exfat_mkdir(struct mnt_idmap *idmap, struct inode *dir,
837static int exfat_mkdir(struct user_namespace *mnt_userns, struct inode *dir,
838 struct dentry *dentry, umode_t mode)
839{
840 struct super_block *sb = dir->i_sb;
841 struct inode *inode;
842 struct exfat_dir_entry info;
843 struct exfat_chain cdir;
844 loff_t i_pos;
845 int err;

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

1280 * (new_ei is already initialized above code ("if (new_inode)")
1281 */
1282 new_ei->dir.dir = DIR_DELETED;
1283 }
1284out:
1285 return ret;
1286}
1287
838 struct dentry *dentry, umode_t mode)
839{
840 struct super_block *sb = dir->i_sb;
841 struct inode *inode;
842 struct exfat_dir_entry info;
843 struct exfat_chain cdir;
844 loff_t i_pos;
845 int err;

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

1280 * (new_ei is already initialized above code ("if (new_inode)")
1281 */
1282 new_ei->dir.dir = DIR_DELETED;
1283 }
1284out:
1285 return ret;
1286}
1287
1288static int exfat_rename(struct mnt_idmap *idmap,
1288static int exfat_rename(struct user_namespace *mnt_userns,
1289 struct inode *old_dir, struct dentry *old_dentry,
1290 struct inode *new_dir, struct dentry *new_dentry,
1291 unsigned int flags)
1292{
1293 struct inode *old_inode, *new_inode;
1294 struct super_block *sb = old_dir->i_sb;
1295 loff_t i_pos;
1296 int err;

--- 79 unchanged lines hidden ---
1289 struct inode *old_dir, struct dentry *old_dentry,
1290 struct inode *new_dir, struct dentry *new_dentry,
1291 unsigned int flags)
1292{
1293 struct inode *old_inode, *new_inode;
1294 struct super_block *sb = old_dir->i_sb;
1295 loff_t i_pos;
1296 int err;

--- 79 unchanged lines hidden ---