Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'exfat-for-6.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat

Pull exfat fixes from Namjae Jeon:

- Fix xfstests generic/013 test failure with dirsync mount option

- Initialize the reserved fields of deleted file and stream extension
dentries to zero

* tag 'exfat-for-6.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
exfat: zero the reserved fields of file and stream extension dentries
exfat: fix timing of synchronizing bitmap and inode

+6 -5
+2
fs/exfat/dir.c
··· 420 420 static void exfat_init_stream_entry(struct exfat_dentry *ep, 421 421 unsigned int start_clu, unsigned long long size) 422 422 { 423 + memset(ep, 0, sizeof(*ep)); 423 424 exfat_set_entry_type(ep, TYPE_STREAM); 424 425 if (size == 0) 425 426 ep->dentry.stream.flags = ALLOC_FAT_CHAIN; ··· 458 457 struct exfat_dentry *ep; 459 458 460 459 ep = exfat_get_dentry_cached(es, ES_IDX_FILE); 460 + memset(ep, 0, sizeof(*ep)); 461 461 exfat_set_entry_type(ep, type); 462 462 exfat_set_entry_time(sbi, ts, 463 463 &ep->dentry.file.create_tz,
+4 -5
fs/exfat/file.c
··· 51 51 clu.flags = ei->flags; 52 52 53 53 ret = exfat_alloc_cluster(inode, new_num_clusters - num_clusters, 54 - &clu, IS_DIRSYNC(inode)); 54 + &clu, inode_needs_sync(inode)); 55 55 if (ret) 56 56 return ret; 57 57 ··· 77 77 ei->i_size_aligned = round_up(size, sb->s_blocksize); 78 78 ei->i_size_ondisk = ei->i_size_aligned; 79 79 inode->i_blocks = round_up(size, sbi->cluster_size) >> 9; 80 - 81 - if (IS_DIRSYNC(inode)) 82 - return write_inode_now(inode, 1); 83 - 84 80 mark_inode_dirty(inode); 81 + 82 + if (IS_SYNC(inode)) 83 + return write_inode_now(inode, 1); 85 84 86 85 return 0; 87 86