<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/fs/exfat/dir.c, branch linux-6.0.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-6.0.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-6.0.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2022-01-10T02:00:03+00:00</updated>
<entry>
<title>exfat: remove argument 'sector' from exfat_get_dentry()</title>
<updated>2022-01-10T02:00:03+00:00</updated>
<author>
<name>Yuezhang.Mo</name>
<email>Yuezhang.Mo@sony.com</email>
</author>
<published>2021-12-16T12:58:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c71510b3fa27f96840c5737d8a47dd7b370e376c'/>
<id>urn:sha1:c71510b3fa27f96840c5737d8a47dd7b370e376c</id>
<content type='text'>
No any function uses argument 'sector', remove it.

Reviewed-by: Andy.Wu &lt;Andy.Wu@sony.com&gt;
Reviewed-by: Aoyama, Wataru &lt;wataru.aoyama@sony.com&gt;
Acked-by: Sungjong Seo &lt;sj1557.seo@samsung.com&gt;
Signed-off-by: Yuezhang.Mo &lt;Yuezhang.Mo@sony.com&gt;
Signed-off-by: Namjae Jeon &lt;linkinjeon@kernel.org&gt;
</content>
</entry>
<entry>
<title>exfat: make exfat_find_location() static</title>
<updated>2022-01-10T02:00:01+00:00</updated>
<author>
<name>Christophe Vu-Brugier</name>
<email>christophe.vu-brugier@seagate.com</email>
</author>
<published>2021-11-02T21:23:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8cf058834b11c08b344fc4549b03d723f16c9241'/>
<id>urn:sha1:8cf058834b11c08b344fc4549b03d723f16c9241</id>
<content type='text'>
Make exfat_find_location() static.

Signed-off-by: Christophe Vu-Brugier &lt;christophe.vu-brugier@seagate.com&gt;
Signed-off-by: Namjae Jeon &lt;linkinjeon@kernel.org&gt;
</content>
</entry>
<entry>
<title>exfat: fix typos in comments</title>
<updated>2022-01-10T02:00:01+00:00</updated>
<author>
<name>Christophe Vu-Brugier</name>
<email>christophe.vu-brugier@seagate.com</email>
</author>
<published>2021-11-02T21:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6fa96cd5ad7a0c8f3f3f6b2b5f062721e8f17a54'/>
<id>urn:sha1:6fa96cd5ad7a0c8f3f3f6b2b5f062721e8f17a54</id>
<content type='text'>
Fix typos in comments.

Signed-off-by: Christophe Vu-Brugier &lt;christophe.vu-brugier@seagate.com&gt;
Signed-off-by: Namjae Jeon &lt;linkinjeon@kernel.org&gt;
</content>
</entry>
<entry>
<title>exfat: handle wrong stream entry size in exfat_readdir()</title>
<updated>2021-07-04T00:33:00+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/kernel/linux.git/commit/?id=1e5654de0f51890f88abd409ebf4867782431e81'/>
<id>urn:sha1:1e5654de0f51890f88abd409ebf4867782431e81</id>
<content type='text'>
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;
</content>
</entry>
<entry>
<title>exfat: speed up iterate/lookup by fixing start point of traversing cluster chain</title>
<updated>2021-04-27T11:45:07+00:00</updated>
<author>
<name>Hyeongseok Kim</name>
<email>hyeongseok@gmail.com</email>
</author>
<published>2021-03-22T03:53:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c6e2f52e3051e8d898d38840104638ca8bbcdec2'/>
<id>urn:sha1:c6e2f52e3051e8d898d38840104638ca8bbcdec2</id>
<content type='text'>
When directory iterate and lookup is called, there's a buggy rewinding
of start point for traversing cluster chain to the parent directory
entry's first cluster. This caused repeated cluster chain traversing
from the first entry of the parent directory that would show worse
performance if huge amounts of files exist under the parent directory.
Fix not to rewind, make continue from currently referenced cluster and
dir entry.

Tested with 50,000 files under single directory / 256GB sdcard,
with command "time ls -l &gt; /dev/null",
Before :     0m08.69s real     0m00.27s user     0m05.91s system
After  :     0m07.01s real     0m00.25s user     0m04.34s system

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>
<entry>
<title>exfat: improve write performance when dirsync enabled</title>
<updated>2021-04-27T11:45:06+00:00</updated>
<author>
<name>Hyeongseok Kim</name>
<email>hyeongseok@gmail.com</email>
</author>
<published>2021-03-15T04:12:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=23befe490ba885bdf757d40b2489134315fef690'/>
<id>urn:sha1:23befe490ba885bdf757d40b2489134315fef690</id>
<content type='text'>
Degradation of write speed caused by frequent disk access for cluster
bitmap update on every cluster allocation could be improved by
selective syncing bitmap buffer. Change to flush bitmap buffer only
for the directory related operations.

Signed-off-by: Hyeongseok Kim &lt;hyeongseok@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 support ioctl and FITRIM function</title>
<updated>2021-04-27T11:45:06+00:00</updated>
<author>
<name>Hyeongseok Kim</name>
<email>hyeongseok@gmail.com</email>
</author>
<published>2021-03-04T00:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=654762df2ec7d61b05acc788afbffaba52d658fe'/>
<id>urn:sha1:654762df2ec7d61b05acc788afbffaba52d658fe</id>
<content type='text'>
Add FITRIM ioctl to enable discarding unused blocks while mounted.
As current exFAT doesn't have generic ioctl handler, add empty ioctl
function first, and add FITRIM handler.

Signed-off-by: Hyeongseok Kim &lt;hyeongseok@gmail.com&gt;
Reviewed-by: Chaitanya Kulkarni &lt;chaitanya.kulkarni@wdc.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: 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/kernel/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/kernel/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/kernel/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>
</feed>
