diff options
author | Volker Lendecke <vl@samba.org> | 2009-11-27 12:57:43 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-11-29 11:22:03 +0100 |
commit | 359e71d956dc912a9b548b3e40612b7f40ef94ea (patch) | |
tree | 6842ba77d1060f03c484c5646ccdc8e8cf48bc5a | |
parent | e41e21b9d443930604092853b3bef4ef33759a13 (diff) | |
download | samba-359e71d956dc912a9b548b3e40612b7f40ef94ea.tar.gz samba-359e71d956dc912a9b548b3e40612b7f40ef94ea.tar.bz2 samba-359e71d956dc912a9b548b3e40612b7f40ef94ea.zip |
s3: "disk_quotas" only looks at the devicenumber
-rw-r--r-- | source3/smbd/quotas.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/source3/smbd/quotas.c b/source3/smbd/quotas.c index a424602d5f..8c443b6f60 100644 --- a/source3/smbd/quotas.c +++ b/source3/smbd/quotas.c @@ -224,7 +224,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d /* find the block device file */ - if ( sys_stat(path, &S, lp_fake_dir_create_times()) == -1 ) + if (sys_stat(path, &S, false) == -1 ) return(False) ; devno = S.st_ex_dev ; @@ -235,8 +235,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d found = False ; while ((mnt = getmntent(fp))) { - if ( sys_stat(mnt->mnt_dir, &S, lp_fake_dir_create_times()) - == -1 ) + if (sys_stat(mnt->mnt_dir, &S, false) == -1) continue ; if (S.st_ex_dev == devno) { @@ -318,7 +317,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d int quota_default = 0 ; bool found = false; - if (sys_stat(path, &sbuf, lp_fake_dir_create_times()) == -1) { + if (sys_stat(path, &sbuf, false) == -1) { return false; } @@ -329,8 +328,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d } while ((mnt = getmntent(fd)) != NULL) { - if (sys_stat(mnt->mnt_dir, &sbuf, lp_fake_dir_create_times()) - == -1) { + if (sys_stat(mnt->mnt_dir, &sbuf, false) { continue; } if (sbuf.st_ex_dev == devno) { @@ -601,7 +599,7 @@ bool disk_quotas(const char *path, euser_id = geteuid(); - if (sys_stat(path, &sbuf, lp_fake_dir_create_times()) == -1) { + if (sys_stat(path, &sbuf, false) { return false; } @@ -614,8 +612,7 @@ bool disk_quotas(const char *path, } while (getmntent(fd, &mnt) == 0) { - if (sys_stat(mnt.mnt_mountp, &sbuf, - lp_fake_dir_create_times()) == -1) { + if (sys_stat(mnt.mnt_mountp, &sbuf, false) == -1) { continue; } @@ -642,8 +639,7 @@ bool disk_quotas(const char *path, } while ((mnt = getmntent(fd)) != NULL) { - if (sys_stat(mnt->mnt_dir, &sbuf, - lp_fake_dir_create_times()) == -1) { + if (sys_stat(mnt->mnt_dir, &sbuf, false) == -1) { continue; } DEBUG(5,("disk_quotas: testing \"%s\" devno=%x\n", @@ -836,7 +832,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d /* find the block device file */ - if ( sys_stat(path, &S, lp_fake_dir_create_times()) == -1 ) { + if ( sys_stat(path, &S, false) == -1 ) { return(False) ; } @@ -846,7 +842,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d found = False ; while ((mnt = getmntent(fp))) { - if ( sys_stat(mnt->mnt_dir, &S, lp_fake_dir_create_times()) == -1 ) + if ( sys_stat(mnt->mnt_dir, &S, false) == -1 ) continue ; if (S.st_ex_dev == devno) { found = True ; @@ -1158,10 +1154,10 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d * to have a significant performance boost when * lstat calls on /dev access this function. */ - if ((sys_stat(path, &S, lp_fake_dir_create_times())<0) + if ((sys_stat(path, &S, false)<0) || (devnm(S_IFBLK, S.st_ex_dev, dev_disk, 256, 1)<0)) #else - if ((sys_stat(path, &S, lp_fake_dir_create_times())<0) + if ((sys_stat(path, &S, false)<0) || (devnm(S_IFBLK, S.st_ex_dev, dev_disk, 256, 0)<0)) return (False); #endif /* ifdef HPUX */ @@ -1189,7 +1185,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d SMB_STRUCT_STAT st; int mntsize, i; - if (sys_stat(path, &st, lp_fake_dir_create_times()) < 0) + if (sys_stat(path, &st, false) < 0) return False; devno = st.st_ex_dev; @@ -1198,7 +1194,7 @@ bool disk_quotas(const char *path, uint64_t *bsize, uint64_t *dfree, uint64_t *d return False; for (i = 0; i < mntsize; i++) { - if (sys_stat(mnts[i].f_mntonname, &st, lp_fake_dir_create_times()) < 0) + if (sys_stat(mnts[i].f_mntonname, &st, false) < 0) return False; if (st.st_ex_dev == devno) break; |