From nobody Wed Dec 24 10:13:57 2025 Received: from relayaws-01.paragon-software.com (relayaws-01.paragon-software.com [35.157.23.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C743D53E02; Mon, 29 Jan 2024 08:08:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=35.157.23.187 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706515687; cv=none; b=KXDAf09ivpm4ZgW08+QoGjs6cRkviqiYrM8uxQAax6EBaXz2J+KkqFhIHFQKUqw5IitYTgm3v1M+PskKtAVmawNlKFXkHA7DpypZbEzuq3E63QfHZCM2IkWCW3vS6VmIT5sw9jKW0ztaS9sexCuvdFxxOm0wRhkl7YphtAoTAko= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706515687; c=relaxed/simple; bh=pNUWJLC16kaMVAE5WhZN3NaYZlEojCmbVSdRqnHrhnw=; h=Message-ID:Date:MIME-Version:Subject:From:To:CC:References: In-Reply-To:Content-Type; b=HnERL2q6nms0vKjD0jVS+dnAAeKYPaU3SAqBW9XlWP5r8ViKq713ez3i0DeVJ4Yk3+3bGfIWulrxhuNVAFAOQ5j3YzWVRRFhNzbza+cOCYMr+WJnXZ/UsKfJnxAs8FfQKY+e+Ocq5qPngkc/6HXl/7mgGu2QpCUuYavjknzxs7E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=paragon-software.com; spf=pass smtp.mailfrom=paragon-software.com; dkim=pass (1024-bit key) header.d=paragon-software.com header.i=@paragon-software.com header.b=tJcaLeFF; dkim=pass (1024-bit key) header.d=paragon-software.com header.i=@paragon-software.com header.b=kcu/vikB; arc=none smtp.client-ip=35.157.23.187 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=paragon-software.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=paragon-software.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=paragon-software.com header.i=@paragon-software.com header.b="tJcaLeFF"; dkim=pass (1024-bit key) header.d=paragon-software.com header.i=@paragon-software.com header.b="kcu/vikB" Received: from relayfre-01.paragon-software.com (unknown [172.30.72.12]) by relayaws-01.paragon-software.com (Postfix) with ESMTPS id 83C70211A; Mon, 29 Jan 2024 08:01:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paragon-software.com; s=mail; t=1706515271; bh=chi2nY9wvqimOanOPJ924vEM3xM63w6P1XRw2v6gYFk=; h=Date:Subject:From:To:CC:References:In-Reply-To; b=tJcaLeFFp9u+SJjkx6v3cXKW00jKI2GE3PLAUnzWa7osSY3/61blJwoqDuCec29JW fCfPd5/dSQWNFrnEX26qQ8jouwWLhd/QPuLtWj6deXl8g0cddxUzMAd/hWDfBGgp6N nQSatgM03mfgrnxmKiy0VI6YbMyxLF8F9aYP2VU8= Received: from dlg2.mail.paragon-software.com (vdlg-exch-02.paragon-software.com [172.30.1.105]) by relayfre-01.paragon-software.com (Postfix) with ESMTPS id CEF771D33; Mon, 29 Jan 2024 08:08:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paragon-software.com; s=mail; t=1706515681; bh=chi2nY9wvqimOanOPJ924vEM3xM63w6P1XRw2v6gYFk=; h=Date:Subject:From:To:CC:References:In-Reply-To; b=kcu/vikBsl5uPk/768daBudBH+s021A47Uz8SUBWuWSS9X4EJhQecPXwaK5tFJp40 0ST1HYQgl9yIgA0JI3HNAPHSO+VkQLU3M85+XgyBNJ7G44bf66baMNXYdZUfMFbtbX duJlJ+Lnivnt0NlJdxIm8dBb2OVECOgZF1zWSTww= Received: from [192.168.211.199] (192.168.211.199) by vdlg-exch-02.paragon-software.com (172.30.1.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Mon, 29 Jan 2024 11:08:01 +0300 Message-ID: <5be49112-9f60-4091-97f8-b9a6d0aeee4c@paragon-software.com> Date: Mon, 29 Jan 2024 11:08:01 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/5] fs/ntfs3: Use i_size_read and i_size_write Content-Language: en-US From: Konstantin Komarov To: CC: , References: In-Reply-To: Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: vobn-exch-01.paragon-software.com (172.30.72.13) To vdlg-exch-02.paragon-software.com (172.30.1.105) Signed-off-by: Konstantin Komarov --- =C2=A0fs/ntfs3/attrib.c=C2=A0 |=C2=A0 4 ++-- =C2=A0fs/ntfs3/dir.c=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 2 +- =C2=A0fs/ntfs3/file.c=C2=A0=C2=A0=C2=A0 | 11 ++++++----- =C2=A0fs/ntfs3/frecord.c | 10 +++++----- =C2=A0fs/ntfs3/index.c=C2=A0=C2=A0 |=C2=A0 8 ++++---- =C2=A0fs/ntfs3/inode.c=C2=A0=C2=A0 |=C2=A0 2 +- =C2=A06 files changed, 19 insertions(+), 18 deletions(-) diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c index 646e2dad1b75..7aadf5010999 100644 --- a/fs/ntfs3/attrib.c +++ b/fs/ntfs3/attrib.c @@ -2084,7 +2084,7 @@ int attr_collapse_range(struct ntfs_inode *ni, u64=20 vbo, u64 bytes) =C2=A0=C2=A0=C2=A0 =C2=A0/* Update inode size. */ =C2=A0=C2=A0=C2=A0 =C2=A0ni->i_valid =3D valid_size; -=C2=A0=C2=A0 =C2=A0ni->vfs_inode.i_size =3D data_size; +=C2=A0=C2=A0 =C2=A0i_size_write(&ni->vfs_inode, data_size); =C2=A0=C2=A0=C2=A0 =C2=A0inode_set_bytes(&ni->vfs_inode, total_size); =C2=A0=C2=A0=C2=A0 =C2=A0ni->ni_flags |=3D NI_FLAG_UPDATE_PARENT; =C2=A0=C2=A0=C2=A0 =C2=A0mark_inode_dirty(&ni->vfs_inode); @@ -2499,7 +2499,7 @@ int attr_insert_range(struct ntfs_inode *ni, u64=20 vbo, u64 bytes) =C2=A0=C2=A0=C2=A0 =C2=A0mi_b->dirty =3D true; =C2=A0done: -=C2=A0=C2=A0 =C2=A0ni->vfs_inode.i_size +=3D bytes; +=C2=A0=C2=A0 =C2=A0i_size_write(&ni->vfs_inode, ni->vfs_inode.i_size + byt= es); =C2=A0=C2=A0=C2=A0 =C2=A0ni->ni_flags |=3D NI_FLAG_UPDATE_PARENT; =C2=A0=C2=A0=C2=A0 =C2=A0mark_inode_dirty(&ni->vfs_inode); diff --git a/fs/ntfs3/dir.c b/fs/ntfs3/dir.c index 9f6dd445eb04..effa6accf8a8 100644 --- a/fs/ntfs3/dir.c +++ b/fs/ntfs3/dir.c @@ -517,7 +517,7 @@ static int ntfs_dir_count(struct inode *dir, bool=20 *is_empty, size_t *dirs, =C2=A0=C2=A0=C2=A0 =C2=A0u32 e_size, off, end; =C2=A0=C2=A0=C2=A0 =C2=A0size_t drs =3D 0, fles =3D 0, bit =3D 0; =C2=A0=C2=A0=C2=A0 =C2=A0struct indx_node *node =3D NULL; -=C2=A0=C2=A0 =C2=A0size_t max_indx =3D ni->vfs_inode.i_size >> ni->dir.ind= ex_bits; +=C2=A0=C2=A0 =C2=A0size_t max_indx =3D i_size_read(&ni->vfs_inode) >> ni->= dir.index_bits; =C2=A0=C2=A0=C2=A0 =C2=A0if (is_empty) =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0*is_empty =3D true; diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c index 07ed3d946e7c..b702543a8795 100644 --- a/fs/ntfs3/file.c +++ b/fs/ntfs3/file.c @@ -646,7 +646,7 @@ static long ntfs_fallocate(struct file *file, int=20 mode, loff_t vbo, loff_t len) =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0if (err) =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 =C2=A0goto out; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} else if (new_size > i_size) { -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0inode->i_size =3D= new_size; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(inod= e, new_size); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} =C2=A0=C2=A0=C2=A0 =C2=A0} @@ -696,7 +696,7 @@ int ntfs3_setattr(struct mnt_idmap *idmap, struct=20 dentry *dentry, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0goto out; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0inode_dio_wait(inode); -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0oldsize =3D inode->i_size; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0oldsize =3D i_size_read(inode); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0newsize =3D attr->ia_size; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0if (newsize <=3D oldsize) @@ -708,7 +708,7 @@ int ntfs3_setattr(struct mnt_idmap *idmap, struct=20 dentry *dentry, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0goto out; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ni->ni_flags |=3D NI_FLAG_UPDA= TE_PARENT; -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0inode->i_size =3D newsize; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(inode, newsize); =C2=A0=C2=A0=C2=A0 =C2=A0} =C2=A0=C2=A0=C2=A0 =C2=A0setattr_copy(idmap, inode, attr); @@ -847,7 +847,7 @@ static ssize_t ntfs_compress_write(struct kiocb=20 *iocb, struct iov_iter *from) =C2=A0=C2=A0=C2=A0 =C2=A0size_t count =3D iov_iter_count(from); =C2=A0=C2=A0=C2=A0 =C2=A0loff_t pos =3D iocb->ki_pos; =C2=A0=C2=A0=C2=A0 =C2=A0struct inode *inode =3D file_inode(file); -=C2=A0=C2=A0 =C2=A0loff_t i_size =3D inode->i_size; +=C2=A0=C2=A0 =C2=A0loff_t i_size =3D i_size_read(inode); =C2=A0=C2=A0=C2=A0 =C2=A0struct address_space *mapping =3D inode->i_mappin= g; =C2=A0=C2=A0=C2=A0 =C2=A0struct ntfs_inode *ni =3D ntfs_i(inode); =C2=A0=C2=A0=C2=A0 =C2=A0u64 valid =3D ni->i_valid; @@ -1177,7 +1177,8 @@ static int ntfs_file_release(struct inode *inode,=20 struct file *file) =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0down_write(&ni->file.run_lock); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0err =3D attr_set_size(ni, ATTR= _DATA, NULL, 0, &ni->file.run, -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2= =A0=C2=A0=C2=A0=C2=A0 inode->i_size, &ni->i_valid, false, NULL); +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2= =A0=C2=A0=C2=A0=C2=A0 i_size_read(inode), &ni->i_valid, false, +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2= =A0=C2=A0=C2=A0=C2=A0 NULL); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0up_write(&ni->file.run_lock); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ni_unlock(ni); diff --git a/fs/ntfs3/frecord.c b/fs/ntfs3/frecord.c index 2636ab7640ac..3b42938a9d3b 100644 --- a/fs/ntfs3/frecord.c +++ b/fs/ntfs3/frecord.c @@ -2099,7 +2099,7 @@ int ni_readpage_cmpr(struct ntfs_inode *ni, struct=20 page *page) =C2=A0=C2=A0=C2=A0 =C2=A0gfp_t gfp_mask; =C2=A0=C2=A0=C2=A0 =C2=A0struct page *pg; -=C2=A0=C2=A0 =C2=A0if (vbo >=3D ni->vfs_inode.i_size) { +=C2=A0=C2=A0 =C2=A0if (vbo >=3D i_size_read(&ni->vfs_inode)) { =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0SetPageUptodate(page); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0err =3D 0; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0goto out; @@ -2173,7 +2173,7 @@ int ni_decompress_file(struct ntfs_inode *ni) =C2=A0{ =C2=A0=C2=A0=C2=A0 =C2=A0struct ntfs_sb_info *sbi =3D ni->mi.sbi; =C2=A0=C2=A0=C2=A0 =C2=A0struct inode *inode =3D &ni->vfs_inode; -=C2=A0=C2=A0 =C2=A0loff_t i_size =3D inode->i_size; +=C2=A0=C2=A0 =C2=A0loff_t i_size =3D i_size_read(inode); =C2=A0=C2=A0=C2=A0 =C2=A0struct address_space *mapping =3D inode->i_mappin= g; =C2=A0=C2=A0=C2=A0 =C2=A0gfp_t gfp_mask =3D mapping_gfp_mask(mapping); =C2=A0=C2=A0=C2=A0 =C2=A0struct page **pages =3D NULL; @@ -2457,6 +2457,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64=20 frame_vbo, struct page **pages, =C2=A0=C2=A0=C2=A0 =C2=A0struct ATTR_LIST_ENTRY *le =3D NULL; =C2=A0=C2=A0=C2=A0 =C2=A0struct runs_tree *run =3D &ni->file.run; =C2=A0=C2=A0=C2=A0 =C2=A0u64 valid_size =3D ni->i_valid; +=C2=A0=C2=A0 =C2=A0loff_t i_size =3D i_size_read(&ni->vfs_inode); =C2=A0=C2=A0=C2=A0 =C2=A0u64 vbo_disk; =C2=A0=C2=A0=C2=A0 =C2=A0size_t unc_size; =C2=A0=C2=A0=C2=A0 =C2=A0u32 frame_size, i, npages_disk, ondisk_size; @@ -2548,7 +2549,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64=20 frame_vbo, struct page **pages, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0frames =3D (ni->vfs_inode.i_size - 1= ) >> frame_bits; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0frames =3D (i_size - 1) >> frame_bit= s; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0err =3D attr_wof_frame_info(ni= , attr, run, frame64, frames, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0 frame_bits, &ondisk_size, &vbo_data); @@ -2556,8 +2557,7 @@ int ni_read_frame(struct ntfs_inode *ni, u64=20 frame_vbo, struct page **pages, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0goto out2; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0if (frame64 =3D=3D frames) { -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0unc_size =3D 1 + = ((ni->vfs_inode.i_size - 1) & -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2= =A0=C2=A0=C2=A0 =C2=A0(frame_size - 1)); +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0unc_size =3D 1 + = ((i_size - 1) & (frame_size - 1)); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ondisk_size= =3D attr_size(attr) - vbo_data; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} else { =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0unc_size = =3D frame_size; diff --git a/fs/ntfs3/index.c b/fs/ntfs3/index.c index cf92b2433f7a..daabaad63aaf 100644 --- a/fs/ntfs3/index.c +++ b/fs/ntfs3/index.c @@ -1462,7 +1462,7 @@ static int indx_create_allocate(struct ntfs_index=20 *indx, struct ntfs_inode *ni, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0goto out2; =C2=A0=C2=A0=C2=A0 =C2=A0if (in->name =3D=3D I30_NAME) { -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ni->vfs_inode.i_size =3D data_size; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(&ni->vfs_inode, data_si= ze); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0inode_set_bytes(&ni->vfs_inode= , alloc_size); =C2=A0=C2=A0=C2=A0 =C2=A0} @@ -1544,7 +1544,7 @@ static int indx_add_allocate(struct ntfs_index=20 *indx, struct ntfs_inode *ni, =C2=A0=C2=A0=C2=A0 =C2=A0} =C2=A0=C2=A0=C2=A0 =C2=A0if (in->name =3D=3D I30_NAME) -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ni->vfs_inode.i_size =3D data_size; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(&ni->vfs_inode, data_si= ze); =C2=A0=C2=A0=C2=A0 =C2=A0*vbn =3D bit << indx->idx2vbn_bits; @@ -2090,7 +2090,7 @@ static int indx_shrink(struct ntfs_index *indx,=20 struct ntfs_inode *ni, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0return err; =C2=A0=C2=A0=C2=A0 =C2=A0if (in->name =3D=3D I30_NAME) -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ni->vfs_inode.i_size =3D new_data; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(&ni->vfs_inode, new_dat= a); =C2=A0=C2=A0=C2=A0 =C2=A0bpb =3D bitmap_size(bit); =C2=A0=C2=A0=C2=A0 =C2=A0if (bpb * 8 =3D=3D nbits) @@ -2576,7 +2576,7 @@ int indx_delete_entry(struct ntfs_index *indx,=20 struct ntfs_inode *ni, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0err =3D attr_set_size(ni, ATTR= _ALLOC, in->name, in->name_len, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 =C2=A0=C2=A0=C2=A0=C2=A0 &indx->alloc_run, 0, NULL, false, NULL); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0if (in->name =3D=3D I30_NAME) -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0ni->vfs_inode.i_s= ize =3D 0; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(&ni-= >vfs_inode, 0); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0err =3D ni_remove_attr(ni, ATT= R_ALLOC, in->name, in->name_len, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2= =A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 false, NULL); diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index 85452a6b1d40..eb7a8c9fba01 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -985,7 +985,7 @@ int ntfs_write_end(struct file *file, struct=20 address_space *mapping, loff_t pos, =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0if (pos + err > inode->i_size)= { -=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0inode->i_size =3D= pos + err; +=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0i_size_write(inod= e, pos + err); =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0dirty =3D t= rue; =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0} --=20 2.34.1