* fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't rely on

has_acl() state for evaluating inodes.  Temporarily(?) enable "real"
	inodes for remote drives.
This commit is contained in:
Corinna Vinschen 2005-11-28 10:06:33 +00:00
parent 3e58f18822
commit 87b69d9243
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2005-11-28 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't rely on
has_acl() state for evaluating inodes. Temporarily(?) enable "real"
inodes for remote drives.
2005-11-25 Christopher Faylor <cgf@timesys.com> 2005-11-25 Christopher Faylor <cgf@timesys.com>
* heap.cc: Remove spurious getpagesize declaration. * heap.cc: Remove spurious getpagesize declaration.

View File

@ -317,14 +317,18 @@ fhandler_base::fstat_helper (struct __stat64 *buf,
/* Assume that if a drive has ACL support it MAY have valid "inodes". /* Assume that if a drive has ACL support it MAY have valid "inodes".
It definitely does not have valid inodes if it does not have ACL It definitely does not have valid inodes if it does not have ACL
support. */ support. Decouple from has_acls() which follows smbntsec setting. */
switch (pc.has_acls () && (nFileIndexHigh || nFileIndexLow) switch ((pc.fs_flags () & FILE_PERSISTENT_ACLS)
&& (nFileIndexHigh || nFileIndexLow)
? pc.drive_type () : DRIVE_UNKNOWN) ? pc.drive_type () : DRIVE_UNKNOWN)
{ {
case DRIVE_FIXED: case DRIVE_FIXED:
case DRIVE_REMOVABLE: case DRIVE_REMOVABLE:
case DRIVE_CDROM: case DRIVE_CDROM:
case DRIVE_RAMDISK: case DRIVE_RAMDISK:
/* Temporarily enable remote drives until we find out why we disabled them
in the first place. When we find out don't forget to write a comment! */
case DRIVE_REMOTE:
/* Although the documentation indicates otherwise, it seems like /* Although the documentation indicates otherwise, it seems like
"inodes" on these devices are persistent, at least across reboots. */ "inodes" on these devices are persistent, at least across reboots. */
buf->st_ino = (((__ino64_t) nFileIndexHigh) << 32) buf->st_ino = (((__ino64_t) nFileIndexHigh) << 32)