<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/fs/exfat/dir.c, branch dev-5.10-intel</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.10-intel</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.10-intel'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2021-07-14T14:56:52+00:00</updated>
<entry>
<title>exfat: handle wrong stream entry size in exfat_readdir()</title>
<updated>2021-07-14T14:56:52+00:00</updated>
<author>
<name>Namjae Jeon</name>
<email>namjae.jeon@samsung.com</email>
</author>
<published>2021-06-11T00:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5c6956e66404a7cf2def6947adc937a471716f17'/>
<id>urn:sha1:5c6956e66404a7cf2def6947adc937a471716f17</id>
<content type='text'>
commit 1e5654de0f51890f88abd409ebf4867782431e81 upstream.

The compatibility issue between linux exfat and exfat of some camera
company was reported from Florian. In their exfat, if the number of files
exceeds any limit, the DataLength in stream entry of the directory is
no longer updated. So some files created from camera does not show in
linux exfat. because linux exfat doesn't allow that cpos becomes larger
than DataLength of stream entry. This patch check DataLength in stream
entry only if the type is ALLOC_NO_FAT_CHAIN and add the check ensure
that dentry offset does not exceed max dentries size(256 MB) to avoid
the circular FAT chain issue.

Fixes: ca06197382bd ("exfat: add directory operations")
Cc: stable@vger.kernel.org # v5.9
Reported-by: Florian Cramer &lt;flrncrmr@gmail.com&gt;
Reviewed-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Tested-by: Chris Down &lt;chris@chrisdown.name&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>exfat: remove 'rwoffset' in exfat_inode_info</title>
<updated>2020-10-21T23:29:11+00:00</updated>
<author>
<name>Tetsuhiro Kohada</name>
<email>kohada.t2@gmail.com</email>
</author>
<published>2020-09-17T01:39:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=04cee52fb8bdbdb0506460f191ed6fd9e6faf00b'/>
<id>urn:sha1:04cee52fb8bdbdb0506460f191ed6fd9e6faf00b</id>
<content type='text'>
Remove 'rwoffset' in exfat_inode_info and replace it with the parameter of
exfat_readdir().
Since rwoffset is referenced only by exfat_readdir(), it is not necessary
a exfat_inode_info's member.
Also, change cpos to point to the next of entry-set, and return the index
of dir-entry via dir_entry-&gt;entry.

Signed-off-by: Tetsuhiro Kohada &lt;kohada.t2@gmail.com&gt;
Acked-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: replace memcpy with structure assignment</title>
<updated>2020-10-21T23:29:11+00:00</updated>
<author>
<name>Tetsuhiro Kohada</name>
<email>kohada.t2@gmail.com</email>
</author>
<published>2020-09-11T04:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a7a241686c8f8142afafbd5fa5b9b9b6ea1aa173'/>
<id>urn:sha1:a7a241686c8f8142afafbd5fa5b9b9b6ea1aa173</id>
<content type='text'>
Use structure assignment instead of memcpy.

Signed-off-by: Tetsuhiro Kohada &lt;kohada.t2@gmail.com&gt;
Acked-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: eliminate dead code in exfat_find()</title>
<updated>2020-10-21T23:29:11+00:00</updated>
<author>
<name>Tetsuhiro Kohada</name>
<email>kohada.t2@gmail.com</email>
</author>
<published>2020-09-02T07:53:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=188df41f212c9282f6cb05b832383ffca3c66893'/>
<id>urn:sha1:188df41f212c9282f6cb05b832383ffca3c66893</id>
<content type='text'>
The exfat_find_dir_entry() called by exfat_find() doesn't return -EEXIST.
Therefore, the root-dir information setting is never executed.

Signed-off-by: Tetsuhiro Kohada &lt;kohada.t2@gmail.com&gt;
Acked-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: add error check when updating dir-entries</title>
<updated>2020-08-11T23:31:12+00:00</updated>
<author>
<name>Tetsuhiro Kohada</name>
<email>kohada.t2@gmail.com</email>
</author>
<published>2020-06-24T00:54:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=8b0c471773819c8201dc0b0123e1580639ee1570'/>
<id>urn:sha1:8b0c471773819c8201dc0b0123e1580639ee1570</id>
<content type='text'>
Add error check when synchronously updating dir-entries.

Suggested-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Tetsuhiro Kohada &lt;kohada.t2@gmail.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: write multiple sectors at once</title>
<updated>2020-08-11T23:31:11+00:00</updated>
<author>
<name>Tetsuhiro Kohada</name>
<email>kohada.t2@gmail.com</email>
</author>
<published>2020-06-23T06:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=3db3c3fb840ed4a6c7666d1464959edd40fe54f1'/>
<id>urn:sha1:3db3c3fb840ed4a6c7666d1464959edd40fe54f1</id>
<content type='text'>
Write multiple sectors at once when updating dir-entries.
Add exfat_update_bhs() for that. It wait for write completion once
instead of sector by sector.
It's only effective if sync enabled.

Signed-off-by: Tetsuhiro Kohada &lt;kohada.t2@gmail.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: remove EXFAT_SB_DIRTY flag</title>
<updated>2020-08-11T23:31:10+00:00</updated>
<author>
<name>Tetsuhiro Kohada</name>
<email>kohada.t2@gmail.com</email>
</author>
<published>2020-06-16T02:18:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=2c7f8937ef91520a8a4bd700d5817b5e9c99803c'/>
<id>urn:sha1:2c7f8937ef91520a8a4bd700d5817b5e9c99803c</id>
<content type='text'>
This flag is set/reset in exfat_put_super()/exfat_sync_fs()
to avoid sync_blockdev().
- exfat_put_super():
Before calling this, the VFS has already called sync_filesystem(),
so sync is never performed here.
- exfat_sync_fs():
After calling this, the VFS calls sync_blockdev(), so, it is meaningless
to check EXFAT_SB_DIRTY or to bypass sync_blockdev() here.

Remove the EXFAT_SB_DIRTY check to ensure synchronization.
And remove the code related to the flag.

Signed-off-by: Tetsuhiro Kohada &lt;kohada.t2@gmail.com&gt;
Reviewed-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: fix wrong hint_stat initialization in exfat_find_dir_entry()</title>
<updated>2020-07-21T01:44:10+00:00</updated>
<author>
<name>Namjae Jeon</name>
<email>namjae.jeon@samsung.com</email>
</author>
<published>2020-07-03T02:19:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=d2fa0c337d97a5490190b9f3b9c73c8f9f3602a1'/>
<id>urn:sha1:d2fa0c337d97a5490190b9f3b9c73c8f9f3602a1</id>
<content type='text'>
We found the wrong hint_stat initialization in exfat_find_dir_entry().
It should be initialized when cluster is EXFAT_EOF_CLUSTER.

Fixes: ca06197382bd ("exfat: add directory operations")
Cc: stable@vger.kernel.org # v5.7
Reviewed-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: flush dirty metadata in fsync</title>
<updated>2020-06-29T08:11:18+00:00</updated>
<author>
<name>Sungjong Seo</name>
<email>sj1557.seo@samsung.com</email>
</author>
<published>2020-06-18T11:43:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5267456e953fd8c5abd8e278b1cc6a9f9027ac0a'/>
<id>urn:sha1:5267456e953fd8c5abd8e278b1cc6a9f9027ac0a</id>
<content type='text'>
generic_file_fsync() exfat used could not guarantee the consistency of
a file because it has flushed not dirty metadata but only dirty data pages
for a file.

Instead of that, use exfat_file_fsync() for files and directories so that
it guarantees to commit both the metadata and data pages for a file.

Signed-off-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
<entry>
<title>exfat: Set the unused characters of FileName field to the value 0000h</title>
<updated>2020-06-29T08:11:00+00:00</updated>
<author>
<name>Hyeongseok.Kim</name>
<email>Hyeongseok@gmail.com</email>
</author>
<published>2020-06-09T05:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=4ba6ccd695f5ed3ae851e59b443b757bbe4557fe'/>
<id>urn:sha1:4ba6ccd695f5ed3ae851e59b443b757bbe4557fe</id>
<content type='text'>
Some fsck tool complain that padding part of the FileName field
is not set to the value 0000h. So let's maintain filesystem cleaner,
as exfat's spec. recommendation.

Signed-off-by: Hyeongseok.Kim &lt;Hyeongseok@gmail.com&gt;
Reviewed-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Namjae Jeon &lt;namjae.jeon@samsung.com&gt;
</content>
</entry>
</feed>
