-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEq1nRK9aeMoq1VSgcnJ2qBz9kQNkFAl6LE+QACgkQnJ2qBz9k QNn0HAf/fz+W/WqZFMEMLoAOJB5ALQa4v1DQGqsSIyKb9GIF8OBhzqNCP2wryx/r Qa37jTOLEQxsdMIQ3LaDH8RVZOj6GUAhk5RZIgTX2XYcWRdqqhws0a27BAJSPnt9 +uujPccf7rBQJ1aN8+kt8QMDkxo4AX8keHtfT4nbl2c1JNsd2nbjsEsWUBx7R1kb aoblIklUMfMr5NvKcWakhJoMtST0fyNX4vbV3tePJTTOS1uzatQLJ5ox2WmY6M+q tTEaKpR/zHMGXegVAlBMFBTJ3NVANcS4MoIYcHlkg5DMOO00XwHH/ZtsJlVsAOuj FURu2KJ3d4RYMxaKlX+wBscliL2GqQ== =weEs -----END PGP SIGNATURE----- Merge tag 'for_v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull ext2/udf updates from Jan Kara: "Cleanups and fixes for ext2 and one cleanup for udf" * tag 'for_v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: ext2: fix empty body warnings when -Wextra is used ext2: fix debug reference to ext2_xattr_cache udf: udf_sb.h: Replace zero-length array with flexible-array member ext2: xattr.h: Replace zero-length array with flexible-array member ext2: Silence lockdep warning about reclaim under xattr_sem
This commit is contained in:
commit
74e934ba0d
|
@ -56,6 +56,7 @@
|
|||
|
||||
#include <linux/buffer_head.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/printk.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/mbcache.h>
|
||||
#include <linux/quotaops.h>
|
||||
|
@ -84,8 +85,8 @@
|
|||
printk("\n"); \
|
||||
} while (0)
|
||||
#else
|
||||
# define ea_idebug(f...)
|
||||
# define ea_bdebug(f...)
|
||||
# define ea_idebug(inode, f...) no_printk(f)
|
||||
# define ea_bdebug(bh, f...) no_printk(f)
|
||||
#endif
|
||||
|
||||
static int ext2_xattr_set2(struct inode *, struct buffer_head *,
|
||||
|
@ -790,7 +791,15 @@ ext2_xattr_delete_inode(struct inode *inode)
|
|||
struct buffer_head *bh = NULL;
|
||||
struct ext2_sb_info *sbi = EXT2_SB(inode->i_sb);
|
||||
|
||||
down_write(&EXT2_I(inode)->xattr_sem);
|
||||
/*
|
||||
* We are the only ones holding inode reference. The xattr_sem should
|
||||
* better be unlocked! We could as well just not acquire xattr_sem at
|
||||
* all but this makes the code more futureproof. OTOH we need trylock
|
||||
* here to avoid false-positive warning from lockdep about reclaim
|
||||
* circular dependency.
|
||||
*/
|
||||
if (WARN_ON_ONCE(!down_write_trylock(&EXT2_I(inode)->xattr_sem)))
|
||||
return;
|
||||
if (!EXT2_I(inode)->i_file_acl)
|
||||
goto cleanup;
|
||||
|
||||
|
@ -864,8 +873,7 @@ ext2_xattr_cache_insert(struct mb_cache *cache, struct buffer_head *bh)
|
|||
true);
|
||||
if (error) {
|
||||
if (error == -EBUSY) {
|
||||
ea_bdebug(bh, "already in cache (%d cache entries)",
|
||||
atomic_read(&ext2_xattr_cache->c_entry_count));
|
||||
ea_bdebug(bh, "already in cache");
|
||||
error = 0;
|
||||
}
|
||||
} else
|
||||
|
|
|
@ -39,7 +39,7 @@ struct ext2_xattr_entry {
|
|||
__le32 e_value_block; /* disk block attribute is stored on (n/i) */
|
||||
__le32 e_value_size; /* size of attribute value */
|
||||
__le32 e_hash; /* hash value of name and value */
|
||||
char e_name[0]; /* attribute name */
|
||||
char e_name[]; /* attribute name */
|
||||
};
|
||||
|
||||
#define EXT2_XATTR_PAD_BITS 2
|
||||
|
|
|
@ -83,7 +83,7 @@ struct udf_virtual_data {
|
|||
struct udf_bitmap {
|
||||
__u32 s_extPosition;
|
||||
int s_nr_groups;
|
||||
struct buffer_head *s_block_bitmap[0];
|
||||
struct buffer_head *s_block_bitmap[];
|
||||
};
|
||||
|
||||
struct udf_part_map {
|
||||
|
|
Loading…
Reference in New Issue