Skip to content

Commit 1fb38c9

Browse files
committed
Merge tag 'fs_for_v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Pull UDF / reiserfs updates from Jan Kara: "One UDF fix and one reiserfs cleanup" * tag 'fs_for_v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: udf: Fix error handling in udf_new_inode() reiserfs: don't use congestion_wait()
2 parents 3d3d673 + f05f242 commit 1fb38c9

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

fs/reiserfs/journal.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -951,7 +951,9 @@ static int reiserfs_async_progress_wait(struct super_block *s)
951951
int depth;
952952

953953
depth = reiserfs_write_unlock_nested(s);
954-
congestion_wait(BLK_RW_ASYNC, HZ / 10);
954+
wait_var_event_timeout(&j->j_async_throttle,
955+
atomic_read(&j->j_async_throttle) == 0,
956+
HZ / 10);
955957
reiserfs_write_lock_nested(s, depth);
956958
}
957959

@@ -1058,7 +1060,8 @@ static int flush_commit_list(struct super_block *s,
10581060
put_bh(tbh) ;
10591061
}
10601062
}
1061-
atomic_dec(&journal->j_async_throttle);
1063+
if (atomic_dec_and_test(&journal->j_async_throttle))
1064+
wake_up_var(&journal->j_async_throttle);
10621065

10631066
for (i = 0; i < (jl->j_len + 1); i++) {
10641067
bn = SB_ONDISK_JOURNAL_1st_BLOCK(s) +

fs/udf/ialloc.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode)
7777
GFP_KERNEL);
7878
}
7979
if (!iinfo->i_data) {
80+
make_bad_inode(inode);
8081
iput(inode);
8182
return ERR_PTR(-ENOMEM);
8283
}
@@ -86,6 +87,7 @@ struct inode *udf_new_inode(struct inode *dir, umode_t mode)
8687
dinfo->i_location.partitionReferenceNum,
8788
start, &err);
8889
if (err) {
90+
make_bad_inode(inode);
8991
iput(inode);
9092
return ERR_PTR(err);
9193
}

0 commit comments

Comments
 (0)