diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-04-12 12:55:21 -0700 |
|---|---|---|
| committer | James Bottomley <jejb@raven.il.steeleye.com> | 2003-04-12 12:55:21 -0700 |
| commit | 36b4f8255f6299dffdd923dba0d55ae76f1f8a1d (patch) | |
| tree | 6da6decb7d990e1f6f60c269ff5892d110635ec1 /include/linux/quota.h | |
| parent | edf20d3a05e5099347f58bd7ddf729a6489340c7 (diff) | |
[PATCH] Fix deadlock with ext3+quota
From: Jan Kara <jack@ucw.cz>
Fixes a deadlock-causing lock-ranking bug between dqio_sem and
journal_start().
It sets up the needed infrastructure so that the quota code's sync_dquot()
operation can call into ext3 and arrange for the transaction start to be
nested outside the taking of dqio_sem.
Diffstat (limited to 'include/linux/quota.h')
| -rw-r--r-- | include/linux/quota.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/quota.h b/include/linux/quota.h index e1c097e338d9..77d017472dc7 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -250,6 +250,7 @@ struct dquot_operations { void (*free_space) (struct inode *, qsize_t); void (*free_inode) (const struct inode *, unsigned long); int (*transfer) (struct inode *, struct iattr *); + int (*sync_dquot) (struct dquot *); }; /* Operations handling requests from userspace */ @@ -303,6 +304,7 @@ struct quota_info { int register_quota_format(struct quota_format_type *fmt); void unregister_quota_format(struct quota_format_type *fmt); +void init_dquot_operations(struct dquot_operations *fsdqops); #else |
