[PATCH 20/26] NTFS 2.1.22 - Bug and race fixes and improved error handling.

From: Anton Altaparmakov
Date: Wed Nov 10 2004 - 10:20:03 EST


This is patch 20/26 in the series. It contains the following ChangeSet:

<aia21@xxxxxxxxxx> (04/11/05 1.2026.1.55)
NTFS: Fix error handling in fs/ntfs/quota.c::ntfs_mark_quotas_out_of_date()
where we failed to release i_sem on the $Quota/$Q attribute inode.

Signed-off-by: Anton Altaparmakov <aia21@xxxxxxxxxx>

Best regards,

Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/, http://www-stu.christs.cam.ac.uk/~aia21/

===================================================================

diff -Nru a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog
--- a/fs/ntfs/ChangeLog 2004-11-10 13:45:32 +00:00
+++ b/fs/ntfs/ChangeLog 2004-11-10 13:45:32 +00:00
@@ -81,6 +81,8 @@
where we cannot access any of the ntfs records in a page when a
single one of them had an mst error. (Thanks to Ken MacFerrin for
the bug report.)
+ - Fix error handling in fs/ntfs/quota.c::ntfs_mark_quotas_out_of_date()
+ where we failed to release i_sem on the $Quota/$Q attribute inode.

2.1.21 - Fix some races and bugs, rewrite mft write code, add mft allocator.

diff -Nru a/fs/ntfs/quota.c b/fs/ntfs/quota.c
--- a/fs/ntfs/quota.c 2004-11-10 13:45:32 +00:00
+++ b/fs/ntfs/quota.c 2004-11-10 13:45:32 +00:00
@@ -52,7 +52,7 @@
ictx = ntfs_index_ctx_get(NTFS_I(vol->quota_q_ino));
if (!ictx) {
ntfs_error(vol->sb, "Failed to get index context.");
- return FALSE;
+ goto err_out;
}
err = ntfs_index_lookup(&qid, sizeof(qid), ictx);
if (err) {
@@ -108,7 +108,8 @@
ntfs_debug("Done.");
return TRUE;
err_out:
- ntfs_index_ctx_put(ictx);
+ if (ictx)
+ ntfs_index_ctx_put(ictx);
up(&vol->quota_q_ino->i_sem);
return FALSE;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/