Re: [PATCH v3 26/30] mm: shmem: use SHMEM_F_* flags instead of VM_* flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


(追記) (追記ここまで)



On 2025年08月07日 01:44:32, Pasha Tatashin wrote:
> From: Pratyush Yadav <ptyadav@xxxxxxxxx>
> @@ -3123,7 +3123,9 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap,
> 	spin_lock_init(&info->lock);
> 	atomic_set(&info->stop_eviction, 0);
> 	info->seals = F_SEAL_SEAL;
> -	info->flags = flags & VM_NORESERVE;
> +	info->flags = 0;
This is not needed as the 'info' is being set to 0 just above
spin_lock_init.
> +	if (flags & VM_NORESERVE)
> +		info->flags |= SHMEM_F_NORESERVE;
As info->flags will be 0, this can be just direct assignment '='.
> 	info->i_crtime = inode_get_mtime(inode);
> 	info->fsflags = (dir == NULL) ? 0 :
> 		SHMEM_I(dir)->fsflags & SHMEM_FL_INHERITED;
> @@ -5862,8 +5864,10 @@ static inline struct inode *shmem_get_inode(struct mnt_idmap *idmap,
> /* common code */
>
> static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name,
> -			loff_t size, unsigned long flags, unsigned int i_flags)
> +				 loff_t size, unsigned long vm_flags,
> +				 unsigned int i_flags)
Nit: Might be just my editor, but this alignment seems off.
> {
> +	unsigned long flags = (vm_flags & VM_NORESERVE) ? SHMEM_F_NORESERVE : 0;
> 	struct inode *inode;
> 	struct file *res;
>
> @@ -5880,7 +5884,7 @@ static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name,
> 		return ERR_PTR(-ENOMEM);
>
> 	inode = shmem_get_inode(&nop_mnt_idmap, mnt->mnt_sb, NULL,
> -				S_IFREG | S_IRWXUGO, 0, flags);
> +				S_IFREG | S_IRWXUGO, 0, vm_flags);
> 	if (IS_ERR(inode)) {
> 		shmem_unacct_size(flags, size);
> 		return ERR_CAST(inode);
> -- 
> 2.50.1.565.gc32cd1483b-goog
>

[Index of Archives] [Linux USB Devel] [Video for Linux] [Linux Audio Users] [Yosemite News] [Linux Kernel] [Linux SCSI]

(追記) (追記ここまで)
Powered by Linux

AltStyle によって変換されたページ (->オリジナル) /