Tools: hv: vssdaemon: ignore the EBUSY on multiple freezing the same partition
Dexuan Cui
maintainerPATCH 1/1 Tools: hv: vssdaemon: ignore the EBUSY on multiple freezing the same partition
Signed-off-by Dexuan Cui <[email protected]>
Reviewed-by K. Y. Srinivasan <[email protected]>
--- tools/hv/hv_vss_daemon.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
tools/hv/hv_vss_daemon.c +21 -0
@@ -51,6 +51,27 @@ static int vss_do_freeze(char *dir, unsigned int cmd, char *fs_op)if (fd <0 )return 1 ; ret =ioctl (fd, cmd,0 ); + +/* +* If a partition is mounted more than once, only the first +* FREEZE/THAW can succeed and the later ones will get +* EBUSY/EINVAL respectively: there could be 2 cases: +* 1) a user may mount the same partition to differnt directories +* by mistake or on purpose; +* 2) The subvolume of btrfs appears to have the same partition +* mounted more than once. +*/ +if (ret) { +if ((cmd ==FIFREEZE && errno ==EBUSY ) || + (cmd ==FITHAW && errno ==EINVAL )) { +syslog (LOG_INFO ,"VSS: %s of %s: %s: ignored\n" , + fs_op, dir, + errno ==EBUSY ?"EBUSY" :"EINVAL" ); +close (fd); +return 0 ; + } + } +syslog (LOG_INFO ,"VSS: %s of %s: %s\n" , fs_op, dir,strerror (errno));close (fd);return !!ret;
Signature · 1 line
1.9.1
Dexuan Cui
maintainerQuoted 11 lines
-----Original Message-----
From: [email protected] [mailto:linux-kernel- [email protected]] On Behalf Of Dexuan Cui
Sent: Tuesday, September 23, 2014 2:02 AM
To: [email protected]; [email protected]; driverdev- [email protected]; [email protected]; [email protected]; [email protected]
Cc: KY Srinivasan; Haiyang Zhang
Subject: [PATCH] Tools: hv: vssdaemon: ignore the EBUSY on multiple freezing the same partition
Quoted 4 lines
Signed-off-by Dexuan Cui <[email protected]>Reviewed-by K. Y. Srinivasan <[email protected]>--- tools/hv/hv_vss_daemon.c | 21 +++++++++++++++++++++
Please use the v2 patch I sent out just now.
I added a "errno = 0;' before the ioctl() to fix some false warnings.
Thanks,
-- Dexuan