summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog1
-rw-r--r--quotacheck.c10
2 files changed, 8 insertions, 3 deletions
diff --git a/Changelog b/Changelog
index ec23c54..779cb91 100644
--- a/Changelog
+++ b/Changelog
@@ -1,4 +1,5 @@
Changes in quota-tools from 3.06 to 3.07
+* Add support for 32 bit uid's and gid's when using EXT2_DIRECT. (Michael Meskes)
* updated manpage of rpc.rquotad (Jan Kara)
* setquota is disabled by default in rpc.rquotad (Jan Kara)
* setquota using RPC is disabled by default in configure (Jan Kara)
diff --git a/quotacheck.c b/quotacheck.c
index 351bf99..7f5e23d 100644
--- a/quotacheck.c
+++ b/quotacheck.c
@@ -8,7 +8,7 @@
* New quota format implementation - Jan Kara <jack@suse.cz> - Sponsored by SuSE CR
*/
-#ident "$Id: quotacheck.c,v 1.30 2002/07/23 15:59:27 jkar8572 Exp $"
+#ident "$Id: quotacheck.c,v 1.31 2002/08/26 14:34:43 jkar8572 Exp $"
#include <dirent.h>
#include <stdio.h>
@@ -372,6 +372,8 @@ static int ext2_direct_scan(char *device)
int inode_buffer_blocks = 0;
ext2fs_inode_bitmap inode_used_map;
ext2fs_inode_bitmap inode_dir_map;
+ uid_t uid;
+ gid_t gid;
if ((error = ext2fs_open(device, 0, 0, 0, unix_io_manager, &fs))) {
errstr(_("error (%d) while opening %s\n"), (int)error, device);
@@ -403,12 +405,14 @@ static int ext2_direct_scan(char *device)
debug(FL_DEBUG, _("Found i_num %ld\n"), i_num);
if (flags & FL_VERBOSE)
blit();
+ uid = inode.i_uid | (inode.i_uid_high << 16);
+ gid = inode.i_gid | (inode.i_hid_high << 16);
if (ucheck)
- add_to_quota(USRQUOTA, i_num, inode.i_uid, inode.i_gid,
+ add_to_quota(USRQUOTA, i_num, uid, gid,
inode.i_mode, inode.i_links_count,
inode.i_blocks << 9);
if (gcheck)
- add_to_quota(GRPQUOTA, i_num, inode.i_uid, inode.i_gid,
+ add_to_quota(GRPQUOTA, i_num, uid, gid,
inode.i_mode, inode.i_links_count,
inode.i_blocks << 9);
if (S_ISDIR(inode.i_mode))