#ifdef ENABLE_ROLLBACK
+ bool
+ Btrfs::isDefault(unsigned int num) const
+ {
+ bool ret = false;
+
+ try
+ {
+ SDir subvolume_dir = openSubvolumeDir();
+ subvolid_t id = get_default_id(subvolume_dir.fd());
+ if (num == 0)
+ {
+ ret = get_id(subvolume_dir.fd()) == id;
+ }
+ else
+ {
+ ret = get_id(openSnapshotDir(num).fd()) == id;
+ }
+ }
+ catch (const runtime_error& e)
+ {
+ SN_THROW(IOErrorException(string("get default failed, ") + e.what()));
+ }
+
+ return ret;
+ }
+
+
void
Btrfs::setDefault(unsigned int num) const
{
#else
+ bool
+ Btrfs::isDefault(unsigned int num) const
+ {
+ throw std::logic_error("not implemented");
+ }
+
+
void
Btrfs::setDefault(unsigned int num) const
{
virtual void cmpDirs(const SDir& dir1, const SDir& dir2, cmpdirs_cb_t cb) const;
+ virtual bool isDefault(unsigned int num) const;
virtual void setDefault(unsigned int num) const;
virtual void sync() const;