Revision tags: v6.6.25, v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3, v6.6.2, v6.5.11, v6.6.1, v6.5.10, v6.6, v6.5.9, v6.5.8, v6.5.7, v6.5.6, v6.5.5, v6.5.4, v6.5.3, v6.5.2, v6.1.51, v6.5.1, v6.1.50, v6.5, v6.1.49, v6.1.48, v6.1.46, v6.1.45, v6.1.44, v6.1.43, v6.1.42, v6.1.41, v6.1.40, v6.1.39, v6.1.38, v6.1.37, v6.1.36, v6.4, v6.1.35, v6.1.34, v6.1.33, v6.1.32, v6.1.31, v6.1.30, v6.1.29, v6.1.28, v6.1.27, v6.1.26, v6.3, v6.1.25, v6.1.24, v6.1.23, v6.1.22, v6.1.21, v6.1.20, v6.1.19, v6.1.18, v6.1.17, v6.1.16, v6.1.15, v6.1.14, v6.1.13, v6.2, v6.1.12, v6.1.11, v6.1.10, v6.1.9 |
|
#
174cb748 |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Move udf_adinicb_readpage() to inode.c
udf_adinicb_readpage() is only called from aops functions, move it to the same file as its callers and also drop the stale comment - invalidate_lock is pr
udf: Move udf_adinicb_readpage() to inode.c
udf_adinicb_readpage() is only called from aops functions, move it to the same file as its callers and also drop the stale comment - invalidate_lock is protecting us against races with truncate.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
759e4d74 |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Mark aops implementation static
Mark functions implementing aops static since they are not needed outside of inode.c anymore.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kar
udf: Mark aops implementation static
Mark functions implementing aops static since they are not needed outside of inode.c anymore.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
37a8a39f |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Switch to single address_space_operations
Now that udf_aops and udf_adiniicb_aops are functionally identical, just drop udf_adiniicb_aops.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-of
udf: Switch to single address_space_operations
Now that udf_aops and udf_adiniicb_aops are functionally identical, just drop udf_adiniicb_aops.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
c694e40b |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Convert all file types to use udf_write_end()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in
udf: Convert all file types to use udf_write_end()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in UDF, create udf_write_end() function that is able to handle both normal and in-ICB files.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
60b99a1b |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Convert in-ICB files to use udf_write_begin()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in
udf: Convert in-ICB files to use udf_write_begin()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in UDF, make in-ICB files use udf_write_begin().
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
d5abfb1b |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Convert in-ICB files to use udf_direct_IO()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in U
udf: Convert in-ICB files to use udf_direct_IO()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in UDF, make in-ICB files use udf_direct_IO().
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
79d3c6db |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Convert in-ICB files to use udf_writepages()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in
udf: Convert in-ICB files to use udf_writepages()
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in UDF, make in-ICB files use udf_writepages().
Reported-by: syzbot+c27475eb921c46bbdc62@syzkaller.appspotmail.com Reported-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
b7c31e6f |
| 24-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Unify .read_folio for normal and in-ICB files
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in
udf: Unify .read_folio for normal and in-ICB files
Switching address_space_operations while a file is used is difficult to do in a race-free way. To be able to use single address_space_operations in UDF, make udf_read_folio() handle both normal and in-ICB files.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v6.1.8 |
|
#
3c212048 |
| 19-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Allocate blocks on write page fault
Currently if file with holes is mapped, udf allocates blocks for dirtied pages during page writeback. This however creates problems when to truncate final ex
udf: Allocate blocks on write page fault
Currently if file with holes is mapped, udf allocates blocks for dirtied pages during page writeback. This however creates problems when to truncate final extent to proper size and currently we leave the last extent untruncated which violates UDF standard. So allocate blocks on write page fault instead. In that case the last extent gets truncated the file is closed and everything is happy.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
364a6665 |
| 18-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Fold udf_block_map() into udf_map_block()
udf_block_map() has now only a single caller. Fold it there.
Signed-off-by: Jan Kara <jack@suse.cz>
|
#
f3a30be7 |
| 18-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Factor out block mapping into udf_map_block()
Create new block mapping function udf_map_block() that takes new udf_map_rq structure describing mapping request. We will convert other places to u
udf: Factor out block mapping into udf_map_block()
Create new block mapping function udf_map_block() that takes new udf_map_rq structure describing mapping request. We will convert other places to use this function for block mapping.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
101ee137 |
| 18-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Drop VARCONV support
UDF was supporting a strange mode where the media was containing 7 blocks of unknown data for every 32 blocks of the filesystem. I have yet to see the media that would need
udf: Drop VARCONV support
UDF was supporting a strange mode where the media was containing 7 blocks of unknown data for every 32 blocks of the filesystem. I have yet to see the media that would need such conversion (maybe it comes from packet writing times) and the conversions have been inconsistent in the code. In particular any write will write to a wrong block and corrupt the media. This is an indication and no user actually needs this so let's just drop the support instead of trying to fix it.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
bd904f3c |
| 18-Jan-2023 |
Jan Kara <jack@suse.cz> |
udf: Unify types in anchor block detection
When detecting last recorded block and from it derived anchor block position, we were mixing unsigned long, u32, and sector_t types. Since udf supports onl
udf: Unify types in anchor block detection
When detecting last recorded block and from it derived anchor block position, we were mixing unsigned long, u32, and sector_t types. Since udf supports only 32-bit block numbers this is harmless but sometimes makes things awkward. Convert everything to udf_pblk_t and also handle the situation when block device size would not fit into udf_pblk_t.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v6.1.7, v6.1.6, v6.1.5, v6.0.19, v6.0.18, v6.1.4, v6.1.3, v6.0.17, v6.1.2, v6.0.16, v6.1.1, v6.0.15 |
|
#
0aba4860 |
| 20-Dec-2022 |
Jan Kara <jack@suse.cz> |
udf: Allocate name buffer in directory iterator on heap
Currently we allocate name buffer in directory iterators (struct udf_fileident_iter) on stack. These structures are relatively large (some 360
udf: Allocate name buffer in directory iterator on heap
Currently we allocate name buffer in directory iterators (struct udf_fileident_iter) on stack. These structures are relatively large (some 360 bytes on 64-bit architectures). For udf_rename() which needs to keep three of these structures in parallel the stack usage becomes rather heavy - 1536 bytes in total. Allocate the name buffer in the iterator from heap to avoid excessive stack usage.
Link: https://lore.kernel.org/all/202212200558.lK9x1KW0-lkp@intel.com Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v6.0.14, v6.0.13, v6.1, v6.0.12, v6.0.11, v6.0.10, v5.15.80, v6.0.9, v5.15.79, v6.0.8, v5.15.78, v6.0.7, v5.15.77, v5.15.76, v6.0.6, v6.0.5, v5.15.75, v6.0.4, v6.0.3, v6.0.2, v5.15.74, v5.15.73, v6.0.1 |
|
#
1e0290d6 |
| 06-Oct-2022 |
Jan Kara <jack@suse.cz> |
udf: Remove old directory iteration code
Remove old directory iteration code that is now unused.
Signed-off-by: Jan Kara <jack@suse.cz>
|
#
f2844803 |
| 06-Oct-2022 |
Jan Kara <jack@suse.cz> |
udf: Implement adding of dir entries using new iteration code
Implement function udf_fiiter_add_entry() adding new directory entries using new directory iteration code.
Signed-off-by: Jan Kara <jac
udf: Implement adding of dir entries using new iteration code
Implement function udf_fiiter_add_entry() adding new directory entries using new directory iteration code.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
a27b2923 |
| 05-Oct-2022 |
Jan Kara <jack@suse.cz> |
udf: Move udf_expand_dir_adinicb() to its callsite
There is just one caller of udf_expand_dir_adinicb(). Move the function to its caller into namei.c as it is more about directory handling than anyt
udf: Move udf_expand_dir_adinicb() to its callsite
There is just one caller of udf_expand_dir_adinicb(). Move the function to its caller into namei.c as it is more about directory handling than anything else anyway.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v5.15.72 |
|
#
d16076d9 |
| 03-Oct-2022 |
Jan Kara <jack@suse.cz> |
udf: New directory iteration code
Add new support code for iterating directory entries. The code is also more carefully verifying validity of on-disk directory entries to avoid crashes on malicious
udf: New directory iteration code
Add new support code for iterating directory entries. The code is also more carefully verifying validity of on-disk directory entries to avoid crashes on malicious media.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v6.0, v5.15.71, v5.15.70, v5.15.69, v5.15.68, v5.15.67, v5.15.66, v5.15.65, v5.15.64, v5.15.63, v5.15.62, v5.15.61, v5.15.60, v5.15.59, v5.19, v5.15.58, v5.15.57, v5.15.56, v5.15.55, v5.15.54, v5.15.53, v5.15.52, v5.15.51, v5.15.50, v5.15.49, v5.15.48, v5.15.47, v5.15.46, v5.15.45, v5.15.44, v5.15.43, v5.15.42, v5.18, v5.15.41, v5.15.40, v5.15.39, v5.15.38, v5.15.37, v5.15.36, v5.15.35, v5.15.34, v5.15.33, v5.15.32, v5.15.31, v5.17, v5.15.30, v5.15.29, v5.15.28, v5.15.27, v5.15.26, v5.15.25, v5.15.24, v5.15.23, v5.15.22, v5.15.21, v5.15.20, v5.15.19, v5.15.18, v5.15.17, v5.4.173, v5.15.16, v5.15.15, v5.16, v5.15.10, v5.15.9, v5.15.8, v5.15.7, v5.15.6, v5.15.5, v5.15.4, v5.15.3, v5.15.2, v5.15.1, v5.15, v5.14.14, v5.14.13, v5.14.12, v5.14.11, v5.14.10, v5.14.9, v5.14.8, v5.14.7, v5.14.6, v5.10.67, v5.10.66, v5.14.5, v5.14.4, v5.10.65, v5.14.3, v5.10.64, v5.14.2, v5.10.63, v5.14.1, v5.10.62, v5.14, v5.10.61, v5.10.60, v5.10.53, v5.10.52, v5.10.51, v5.10.50, v5.10.49, v5.13, v5.10.46, v5.10.43, v5.10.42, v5.10.41, v5.10.40, v5.10.39, v5.4.119, v5.10.36, v5.10.35 |
|
#
979a6e28 |
| 03-May-2021 |
Jan Kara <jack@suse.cz> |
udf: Get rid of 0-length arrays in struct fileIdentDesc
Get rid of 0-length arrays in struct fileIdentDesc. This requires a bit of cleaning up as the second variable length array in this structure i
udf: Get rid of 0-length arrays in struct fileIdentDesc
Get rid of 0-length arrays in struct fileIdentDesc. This requires a bit of cleaning up as the second variable length array in this structure is often used and the code abuses the fact that the first two arrays have the same type and offset in struct fileIdentDesc.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v5.10.34, v5.4.116, v5.10.33, v5.12, v5.10.32, v5.10.31, v5.10.30, v5.10.27, v5.10.26, v5.10.25, v5.10.24, v5.10.23, v5.10.22, v5.10.21, v5.10.20, v5.10.19, v5.4.101, v5.10.18, v5.10.17, v5.11, v5.10.16, v5.10.15, v5.10.14, v5.10, v5.8.17, v5.8.16, v5.8.15, v5.9, v5.8.14, v5.8.13, v5.8.12, v5.8.11, v5.8.10, v5.8.9, v5.8.8, v5.8.7, v5.8.6, v5.4.62, v5.8.5, v5.8.4, v5.4.61, v5.8.3, v5.4.60, v5.8.2, v5.4.59, v5.8.1, v5.4.58, v5.4.57, v5.4.56, v5.8, v5.7.12, v5.4.55, v5.7.11, v5.4.54, v5.7.10, v5.4.53, v5.4.52, v5.7.9, v5.7.8, v5.4.51, v5.4.50, v5.7.7, v5.4.49, v5.7.6, v5.7.5, v5.4.48, v5.7.4, v5.7.3, v5.4.47, v5.4.46, v5.7.2, v5.4.45, v5.7.1, v5.4.44, v5.7, v5.4.43, v5.4.42, v5.4.41, v5.4.40, v5.4.39, v5.4.38, v5.4.37, v5.4.36, v5.4.35, v5.4.34, v5.4.33, v5.4.32, v5.4.31, v5.4.30, v5.4.29, v5.6, v5.4.28, v5.4.27, v5.4.26, v5.4.25, v5.4.24, v5.4.23, v5.4.22, v5.4.21, v5.4.20, v5.4.19, v5.4.18, v5.4.17, v5.4.16, v5.5, v5.4.15, v5.4.14, v5.4.13, v5.4.12, v5.4.11, v5.4.10, v5.4.9, v5.4.8, v5.4.7, v5.4.6, v5.4.5, v5.4.4, v5.4.3, v5.3.15, v5.4.2, v5.4.1, v5.3.14, v5.4, v5.3.13, v5.3.12, v5.3.11, v5.3.10, v5.3.9, v5.3.8, v5.3.7, v5.3.6, v5.3.5, v5.3.4, v5.3.3, v5.3.2, v5.3.1, v5.3, v5.2.14, v5.3-rc8, v5.2.13, v5.2.12, v5.2.11 |
|
#
c3367a1b |
| 27-Aug-2019 |
Steven J. Magnani <steve.magnani@digidescorp.com> |
udf: augment UDF permissions on new inodes
Windows presents files created within Linux as read-only, even when permissions in Linux indicate the file should be writable.
UDF defines a slightly diff
udf: augment UDF permissions on new inodes
Windows presents files created within Linux as read-only, even when permissions in Linux indicate the file should be writable.
UDF defines a slightly different set of basic file permissions than Linux. Specifically, UDF has "delete" and "change attribute" permissions for each access class (user/group/other). Linux has no equivalents for these.
When the Linux UDF driver creates a file (or directory), no UDF delete or change attribute permissions are granted. The lack of delete permission appears to cause Windows to mark an item read-only when its permissions otherwise indicate that it should be read-write.
Fix this by having UDF delete permissions track Linux write permissions. Also grant UDF change attribute permission to the owner when creating a new inode.
Reported by: Ty Young Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Link: https://lore.kernel.org/r/20190827121359.9954-1-steve@digidescorp.com Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
#
8cbd9af9 |
| 26-Aug-2019 |
Jan Kara <jack@suse.cz> |
udf: Use dynamic debug infrastructure
Instead of relying on UDFFS_DEBUG define for debug printing, just use standard pr_debug() prints and rely on CONFIG_DYNAMIC_DEBUG infrastructure for enabling or
udf: Use dynamic debug infrastructure
Instead of relying on UDFFS_DEBUG define for debug printing, just use standard pr_debug() prints and rely on CONFIG_DYNAMIC_DEBUG infrastructure for enabling or disabling prints.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v5.2.10, v5.2.9, v5.2.8, v5.2.7, v5.2.6, v5.2.5, v5.2.4, v5.2.3, v5.2.2, v5.2.1, v5.2, v5.1.16, v5.1.15, v5.1.14, v5.1.13, v5.1.12, v5.1.11, v5.1.10, v5.1.9, v5.1.8, v5.1.7, v5.1.6, v5.1.5, v5.1.4, v5.1.3, v5.1.2, v5.1.1, v5.0.14, v5.1, v5.0.13, v5.0.12, v5.0.11, v5.0.10, v5.0.9, v5.0.8, v5.0.7, v5.0.6, v5.0.5, v5.0.4, v5.0.3, v4.19.29, v5.0.2 |
|
#
2b42be5e |
| 11-Mar-2019 |
Jan Kara <jack@suse.cz> |
udf: Propagate errors from udf_truncate_extents()
Make udf_truncate_extents() properly propagate errors to its callers and let udf_setsize() handle the error properly as well. This lets userspace kn
udf: Propagate errors from udf_truncate_extents()
Make udf_truncate_extents() properly propagate errors to its callers and let udf_setsize() handle the error properly as well. This lets userspace know in case there's some error when truncating blocks.
Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v4.19.28, v5.0.1, v4.19.27, v5.0, v4.19.26, v4.19.25, v4.19.24, v4.19.23, v4.19.22, v4.19.21, v4.19.20, v4.19.19, v4.19.18, v4.19.17, v4.19.16, v4.19.15, v4.19.14, v4.19.13, v4.19.12, v4.19.11, v4.19.10, v4.19.9, v4.19.8, v4.19.7, v4.19.6, v4.19.5, v4.19.4, v4.18.20, v4.19.3, v4.18.19, v4.19.2, v4.18.18, v4.18.17, v4.19.1, v4.19, v4.18.16, v4.18.15, v4.18.14, v4.18.13, v4.18.12, v4.18.11, v4.18.10, v4.18.9, v4.18.7, v4.18.6, v4.18.5, v4.17.18, v4.18.4, v4.18.3, v4.17.17, v4.18.2, v4.17.16, v4.17.15, v4.18.1, v4.18, v4.17.14, v4.17.13, v4.17.12, v4.17.11, v4.17.10, v4.17.9, v4.17.8, v4.17.7, v4.17.6, v4.17.5, v4.17.4, v4.17.3 |
|
#
c3b9cecd |
| 20-Jun-2018 |
Arnd Bergmann <arnd@arndb.de> |
udf: convert inode stamps to timespec64
The VFS structures are finally converted to always use 64-bit timestamps, and this file system can represent a long range of on-disk timestamps already, so no
udf: convert inode stamps to timespec64
The VFS structures are finally converted to always use 64-bit timestamps, and this file system can represent a long range of on-disk timestamps already, so now let's fit in the missing bits for udf.
Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jan Kara <jack@suse.cz>
show more ...
|
Revision tags: v4.17.2 |
|
#
6c1e4d06 |
| 13-Jun-2018 |
Jan Kara <jack@suse.cz> |
udf: Drop unused arguments of udf_delete_aext()
udf_delete_aext() uses its last two arguments only as local variables. Drop them.
Signed-off-by: Jan Kara <jack@suse.cz>
|
#
f2e83347 |
| 13-Jun-2018 |
Jan Kara <jack@suse.cz> |
udf: Provide function for calculating dir entry length
Provide function for calculating directory entry length and use to reduce code duplication.
Signed-off-by: Jan Kara <jack@suse.cz>
|