On Thu, Nov 08, 2018 at 06:12:40AM +1300, Andrew Bartlett wrote:> On Wed, 2018-11-07 at 15:19 +0300, Albert Berger via samba wrote: > > > > I tried in sequence to start Samba in following conditions: > > > > 1. With all clients disconnected from Samba server; > > 2. As above + all shares disabled; > > 3. As above + minimal smb.conf > > 4. With totally empty smb.conf. > > > > In all cases those every-60-seconds writes persist. > > What else can be done in this situation? Can it be > > that some Debian/Raspbian patch causes this behaviour? > > Should I try to compile Samba from upstream? > > You haven't said what version you are running. > > But in general, there are essentially no specific Debian patches, we > work hard to keep those packages as upstream as possible, so unless > Raspbian has done something really odd (unlikely) there isn't any point > going upstream. > > Andrew Bartlett > -- > Andrew Bartlett http://samba.org/~abartlet/ > Authentication Developer, Samba Team http://samba.org > Samba Developer, Catalyst IT http://catalyst.net.nz/services/samba >Well, I mentioned that the output of "smbd --version" is "4.2.14-Debian". Is this the package version? In Samba's source code there are mentions of "housekeeping" activity: in the file process.c one can search for SMBD_HOUSEKEEPING_INTERVAL and 'housekeeping_fn' which among other things performs some operations with log files. Can this be the explanation? /Al
On Thu, Nov 08, 2018 at 02:34:50AM +0300, Albert Berger via samba wrote:> On Thu, Nov 08, 2018 at 06:12:40AM +1300, Andrew Bartlett wrote: > > On Wed, 2018-11-07 at 15:19 +0300, Albert Berger via samba wrote: > > > > > > I tried in sequence to start Samba in following conditions: > > > > > > 1. With all clients disconnected from Samba server; > > > 2. As above + all shares disabled; > > > 3. As above + minimal smb.conf > > > 4. With totally empty smb.conf. > > > > > > In all cases those every-60-seconds writes persist. > > > What else can be done in this situation? Can it be > > > that some Debian/Raspbian patch causes this behaviour? > > > Should I try to compile Samba from upstream? > > > > You haven't said what version you are running. > > > > But in general, there are essentially no specific Debian patches, we > > work hard to keep those packages as upstream as possible, so unless > > Raspbian has done something really odd (unlikely) there isn't any point > > going upstream. > > > > Andrew Bartlett > > -- > > Andrew Bartlett http://samba.org/~abartlet/ > > Authentication Developer, Samba Team http://samba.org > > Samba Developer, Catalyst IT http://catalyst.net.nz/services/samba > > > > Well, I mentioned that the output of "smbd --version" is "4.2.14-Debian". Is > this the package version? In Samba's source code there are mentions of > "housekeeping" activity: in the file process.c one can search for > SMBD_HOUSEKEEPING_INTERVAL and 'housekeeping_fn' which among other things > performs some operations with log files. Can this be the explanation?SMBD_HOUSEKEEPING_INTERVAL is 60 seconds, and run on a tevent timer event, and it implements: * * Do the recurring log file and smb.conf reload checks. */ static bool housekeeping_fn(const struct timeval *now, void *private_data) { struct smbd_server_connection *sconn = talloc_get_type_abort( private_data, struct smbd_server_connection); DEBUG(5, ("housekeeping\n")); change_to_root_user(); /* update printer queue caches if necessary */ update_monitored_printq_cache(sconn->msg_ctx); /* check if we need to reload services */ check_reload(sconn, time_mono(NULL)); /* * Force a log file check. */ force_check_log_size(); check_log_size(); return true; } so yes it's goint to look at smb.conf and check_log_size() will do an fstat() on the open log file descriptor, so this may explain it.
On Wed, 7 Nov 2018 15:57:04 -0800 Jeremy Allison via samba <samba at lists.samba.org> wrote:> On Thu, Nov 08, 2018 at 02:34:50AM +0300, Albert Berger via samba > wrote: > > On Thu, Nov 08, 2018 at 06:12:40AM +1300, Andrew Bartlett wrote: > > > On Wed, 2018-11-07 at 15:19 +0300, Albert Berger via samba wrote: > > > > > > > > I tried in sequence to start Samba in following conditions: > > > > > > > > 1. With all clients disconnected from Samba server; > > > > 2. As above + all shares disabled; > > > > 3. As above + minimal smb.conf > > > > 4. With totally empty smb.conf. > > > > > > > > In all cases those every-60-seconds writes persist. > > > > What else can be done in this situation? Can it be > > > > that some Debian/Raspbian patch causes this behaviour? > > > > Should I try to compile Samba from upstream? > > > > > > You haven't said what version you are running. > > > > > > But in general, there are essentially no specific Debian patches, > > > we work hard to keep those packages as upstream as possible, so > > > unless Raspbian has done something really odd (unlikely) there > > > isn't any point going upstream. > > > > > > Andrew Bartlett > > > -- > > > Andrew Bartlett http://samba.org/~abartlet/ > > > Authentication Developer, Samba Team http://samba.org > > > Samba Developer, Catalyst IT > > > http://catalyst.net.nz/services/samba > > > > > > > Well, I mentioned that the output of "smbd --version" is > > "4.2.14-Debian". Is this the package version? In Samba's source > > code there are mentions of "housekeeping" activity: in the file > > process.c one can search for SMBD_HOUSEKEEPING_INTERVAL and > > 'housekeeping_fn' which among other things performs some operations > > with log files. Can this be the explanation? > > SMBD_HOUSEKEEPING_INTERVAL is 60 seconds, and run on a tevent > timer event, and it implements: > > * > * Do the recurring log file and smb.conf reload checks. > */ > > static bool housekeeping_fn(const struct timeval *now, void > *private_data) { > struct smbd_server_connection *sconn = talloc_get_type_abort( > private_data, struct smbd_server_connection); > > DEBUG(5, ("housekeeping\n")); > > change_to_root_user(); > > /* update printer queue caches if necessary */ > update_monitored_printq_cache(sconn->msg_ctx); > > /* check if we need to reload services */ > check_reload(sconn, time_mono(NULL)); > > /* > * Force a log file check. > */ > force_check_log_size(); > check_log_size(); > return true; > } > > so yes it's goint to look at smb.conf and check_log_size() > will do an fstat() on the open log file descriptor, so this > may explain it. >Yes, but it isn't doing a read, it is trying to do a write and then being cancelled. I have left 'pidstat' running overnight and there is no mention of 'smbd' in the output anywhere. If the OP is using 4.2-14, he is using Raspbian Jessie, I have advised the OP to upgrade to the latest Raspbian, this will get Samba 4.5.x Rowland