aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/cdns3/cdns3-imx.c
diff options
context:
space:
mode:
authorHarshad Shirwadkar <harshadshirwadkar@gmail.com>2021-03-16 15:19:21 -0700
committerTheodore Ts'o <tytso@mit.edu>2021-03-21 00:38:18 -0400
commit8210bb29c1b66200cff7b25febcf6e39baf49fbf (patch)
tree9f3f60f830d67c9fede42c5b29b051e9f075269a /drivers/usb/cdns3/cdns3-imx.c
parentext4: fix timer use-after-free on failed mount (diff)
downloadlinux-8210bb29c1b66200cff7b25febcf6e39baf49fbf.tar.gz
linux-8210bb29c1b66200cff7b25febcf6e39baf49fbf.zip
ext4: fix rename whiteout with fast commit
This patch adds rename whiteout support in fast commits. Note that the whiteout object that gets created is actually char device. Which imples, the function ext4_inode_journal_mode(struct inode *inode) would return "JOURNAL_DATA" for this inode. This has a consequence in fast commit code that it will make creation of the whiteout object a fast-commit ineligible behavior and thus will fall back to full commits. With this patch, this can be observed by running fast commits with rename whiteout and seeing the stats generated by ext4_fc_stats tracepoint as follows: ext4_fc_stats: dev 254:32 fc ineligible reasons: XATTR:0, CROSS_RENAME:0, JOURNAL_FLAG_CHANGE:0, NO_MEM:0, SWAP_BOOT:0, RESIZE:0, RENAME_DIR:0, FALLOC_RANGE:0, INODE_JOURNAL_DATA:16; num_commits:6, ineligible: 6, numblks: 3 So in short, this patch guarantees that in case of rename whiteout, we fall back to full commits. Amir mentioned that instead of creating a new whiteout object for every rename, we can create a static whiteout object with irrelevant nlink. That will make fast commits to not fall back to full commit. But until this happens, this patch will ensure correctness by falling back to full commits. Fixes: 8016e29f4362 ("ext4: fast commit recovery path") Cc: stable@kernel.org Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@gmail.com> Link: https://lore.kernel.org/r/20210316221921.1124955-1-harshadshirwadkar@gmail.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-imx.c')
0 files changed, 0 insertions, 0 deletions
an>/+5 2015-03-25t: simplify loop exit-code status variablesJeff King2-16/+6 2015-03-25t: fix some trivial cases of ignored exit codes in loopsJeff King10-28/+24 2015-03-25t7701: fix ignored exit code inside loopJeff King1-1/+1 2015-03-25t3305: fix ignored exit code inside loopJeff King1-6/+3 2015-03-25t0020: fix ignored exit code inside loopsJeff King1-35/+19 2015-03-25perf-lib: fix ignored exit code inside loopJeff King1-1/+1 2015-03-24report_path_error(): move to dir.cJunio C Hamano4-44/+44 2015-03-24git.txt: list index versions in plain EnglishNguyễn Thái Ngọc Duy1-1/+2 2015-03-23Post 2.3 cycle (batch #12)Junio C Hamano1-15/+46 2015-03-23Git 2.3.4v2.3.4Junio C Hamano4-3/+36 2015-03-22run-command: forbid using run_command with piped outputJeff King1-1/+6 2015-03-22trailer: use capture_commandJeff King1-13/+5 2015-03-22submodule: use capture_commandJeff King1-3/+1 2015-03-22wt-status: use capture_commandJeff King1-4/+1 2015-03-22run-command: introduce capture_command helperJeff King2-0/+29 2015-03-22completion: use __gitcomp_nl() for completing refsSZEDER Gábor1-2/+2 2015-03-22wt_status: fix signedness mismatch in strbuf_read callJeff King1-3/+3 2015-03-22wt-status: don't flush before running "submodule status"Jeff King1-1/+0 2015-03-22t6039: fix broken && chainTorsten Bögershausen1-1/+1 2015-03-20read-cache: fix reading of split indexThomas Gummerer1-19/+23 2015-03-20Post 2.3 cycle (batch #11)Junio C Hamano1-0/+64 2015-03-20refs.c: drop curate_packed_refsJeff King2-67/+2 2015-03-20repack: turn on "ref paranoia" when doing a destructive repackJeff King2-3/+7 2015-03-20prune: turn on ref_paranoia flagJeff King2-2/+3 2015-03-20refs: introduce a "ref paranoia" flagJeff King4-0/+25