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

Reply via email to