On Apr 08 08:34:16, o...@drijf.net wrote:
> On Tue, Apr 08, 2025 at 08:14:34AM +0200, Jan Stary wrote:
> 
> > On Apr 08 06:56:53, sema...@kapouay.eu.org wrote:
> > > TSS <t...@mg-1.uk> writes:
> > > 
> > > > Greetings,
> > > >
> > > > I've been using this gimmick for backing up some OpenBSD 7.6 systems:
> > > > https://github.com/thexhr/openbsd-timemachine
> > > > For the purposes of this discussion, it:
> > > >
> > > > 1. uses hotplugd to run a script when you plug in a USB backup drive
> > > > 2. this script mounts the backup drive
> > > > 3. it then uses rsnapshot (rsync basically) to back up the data
> > > > 4. the script unmounts the backup drive
> > > >
> > > > Everything is just fine until step 4, when the backup drive refuses to
> > > > unmount. If you try to do it yourself, you see:
> > > >
> > > > umount: /my_backup_mount_point: Device busy
> > > >
> > > > This doesn't seem to be a temporary issue: after an hour's wait, the 
> > > > drive
> > > > still can't be unmounted.
> > > >
> > > > I'm not sure how to debug the problem since fstat shows no open file on 
> > > > the
> > > > drive, nor any process using any directory on the drive as a working
> > > > directory.
> > > 
> > > how did you use fstat ? I don't remember well, but using 
> > > 'fstat /my_backup_mount_point' might not be enough.
> > > 
> > > but you could use:
> > > 
> > > $ fstat -f /my_backup_mount_point
> > > 
> > > with -f, fstat will list all opened files in the /my_backup_mount_point
> > > mount point (at any depth).
> > 
> > For example, as I'm writing this in mutt/vim (paused):
> > 
> > $ fstat /tmp
> > USER         CMD          PID   FD MOUNT        INUM  MODE         R/W    
> > SZ|DV NAME
> > 
> > $ fstat -f/tmp
> > USER     CMD          PID   FD MOUNT        INUM  MODE         R/W    SZ|DV
> > hans     fstat       6559    1 /tmp           25  -rw-r--r--     w        0
> > hans     nvi        16311    4 /tmp        32897* -rw-------     r     1474
> > hans     nvi        16311    5 /tmp        32901  -rw-------    re     1940
> > hans     nvi        16311    6 /tmp        16449  -rw-------   rwe     5120
> > hans     nvi        16311    7 /tmp            4* -rw-------   rwe        0
> > hans     nvi        16311    8 /tmp            5  -rw-------    re        0
> > hans     nvi        16311    9 /tmp        16450  -rw-------    rw      610
> > hans     nvi        16311   10 /tmp        16451  -rwx------   rwe        0
> > hans     nvi        16311   11 /tmp            6* -rw-------   rwe        0
> > hans     sh         48868    4 /tmp        32897* -rw-------     r     1474
> > hans     mutt        5793    4 /tmp        32897* -rw-------    rp     1474
> > hans     ksh        12342    1 /tmp           25  -rw-r--r--    wp        0
> > 
> > > (it should be the same than 
> > > 'fstat | grep /my_backup_mount_point')
> > 
> > Apparently not:
> > 
> > $ fstat /home
> > USER         CMD          PID   FD MOUNT        INUM  MODE         R/W    
> > SZ|DV NAME
> > 
> > $ fstat -f /home
> > USER     CMD          PID   FD MOUNT        INUM  MODE         R/W    SZ|DV
> > hans     fstat      77656   wd /home      466560  drwxr-xr-x     r    17408
> > hans     nvi        16311   wd /home      466560  drwxr-xr-x     r    17408
> > hans     nvi        16311    3 /home      466929  -rw-------     r 34821589
> > hans     sh         48868   wd /home      466560  drwxr-xr-x     r    17408
> > hans     sh         48868    3 /home      466929  -rw-------     r 34821589
> > hans     mutt        5793   wd /home      466560  drwxr-xr-x     r    17408
> > hans     mutt        5793    3 /home      466929  -rw-------    rp 34821589
> > hans     ksh        12342   wd /home      466560  drwxr-xr-x     r    17408
> > hans     ksh        12342   11 /home      466785  -rw-------  rwep     9047
> > 
> > Which is strange, because -f is supposed to
> > 
> >     _restrict_ examination to files open in
> >     the same file systems as the named file arguments
> > 
> > Jan
> > 
> 
> fstat != fstat /home
> 
> The no argment case lists all files open in the whole system.
> 
> I suppose the descripton of -f says "restrict" because it compares
> agains the no arg case.
> 
>       -Otto
> 

Right, "fstat /home" just treats /home as a named file arg
(which is not "open" by anything).

Reply via email to