diff options
author | Volker Lendecke <vl@samba.org> | 2008-01-17 17:48:33 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-01-18 17:37:04 -0800 |
commit | 145ab107b2670b3d645c6757d0a3930eaff6c4d0 (patch) | |
tree | 93c0fb775610270c54409912f43ec471a15ac414 | |
parent | 805caafd44cbc5fff49711b1a15fb64cc99f3ad3 (diff) | |
download | samba-145ab107b2670b3d645c6757d0a3930eaff6c4d0.tar.gz samba-145ab107b2670b3d645c6757d0a3930eaff6c4d0.tar.bz2 samba-145ab107b2670b3d645c6757d0a3930eaff6c4d0.zip |
Always return nlink=1 for directories
I did not test it, but it should not affect cifsfs, there are special posix
calls that also return the stat information unfiltered.
(This used to be commit e96cf1309e45628f4c27d03f77a4eef5e00602df)
-rw-r--r-- | source3/smbd/trans2.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 23d6f12996..763b6480e3 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -3745,11 +3745,6 @@ static void call_trans2qfilepathinfo(connection_struct *conn, nlink = sbuf.st_nlink; - if ((nlink > 0) && S_ISDIR(sbuf.st_mode)) { - /* NTFS does not seem to count ".." */ - nlink -= 1; - } - if ((nlink > 0) && delete_pending) { nlink -= 1; } @@ -4018,7 +4013,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd data_size = 24; SOFF_T(pdata,0,allocation_size); SOFF_T(pdata,8,file_size); - SIVAL(pdata,16,nlink); + SIVAL(pdata,16,(mode&aDIR)?1:nlink); SCVAL(pdata,20,delete_pending?1:0); SCVAL(pdata,21,(mode&aDIR)?1:0); SSVAL(pdata,22,0); /* Padding. */ @@ -4096,7 +4091,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd pdata += 40; SOFF_T(pdata,0,allocation_size); SOFF_T(pdata,8,file_size); - SIVAL(pdata,16,nlink); + SIVAL(pdata,16,(mode&aDIR)?1:nlink); SCVAL(pdata,20,delete_pending); SCVAL(pdata,21,(mode&aDIR)?1:0); SSVAL(pdata,22,0); |