ntfs_mark_quotas_out_of_date() operates on vol->quota_q_ino, which is the $Quota/$Q index inode opened by load_and_init_quota(). However, it creates the index context with the $I30 name. That asks the $Quota file for an $INDEX_ROOT named $I30 and fails before the quota defaults entry can be looked up. Use the $Q index name when marking quotas out of date. Signed-off-by: DaeMyung Kang --- fs/ntfs/quota.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/ntfs/quota.c b/fs/ntfs/quota.c index b443243..7086951 100644 --- a/fs/ntfs/quota.c +++ b/fs/ntfs/quota.c @@ -21,6 +21,7 @@ bool ntfs_mark_quotas_out_of_date(struct ntfs_volume *vol) { struct ntfs_index_context *ictx; struct quota_control_entry *qce; + static __le16 Q[3] = { cpu_to_le16('$'), cpu_to_le16('Q'), 0 }; const __le32 qid = QUOTA_DEFAULTS_ID; int err; @@ -32,7 +33,7 @@ bool ntfs_mark_quotas_out_of_date(struct ntfs_volume *vol) return false; } inode_lock(vol->quota_q_ino); - ictx = ntfs_index_ctx_get(NTFS_I(vol->quota_q_ino), I30, 4); + ictx = ntfs_index_ctx_get(NTFS_I(vol->quota_q_ino), Q, 2); if (!ictx) { ntfs_error(vol->sb, "Failed to get index context."); goto err_out; -- 2.43.0