The mnt_update_table() is able to create a mtab lock now.
Signed-off-by: Karel Zak <kzak@redhat.com>
/* nothing, fcntl will fail anyway */
}
-#ifdef HAVE_LIBMOUNT_MOUNT
-static struct libmnt_lock *libmount_lock;
-
-struct libmnt_lock *
-init_libmount_lock(const char *filename)
-{
- if (filename)
- return libmount_lock = mnt_new_lock(filename, 0);
- if (libmount_lock)
- mnt_free_lock(libmount_lock);
- libmount_lock = NULL;
- return NULL;
-}
-#endif
-
/* Remove lock file. */
void
unlock_mtab (void) {
unlink (_PATH_MOUNTED_LOCK);
we_created_lockfile = 0;
}
-#ifdef HAVE_LIBMOUNT_MOUNT
- if (libmount_lock)
- mnt_unlock_file(libmount_lock);
-#endif
}
/* Create the lock file.
#ifdef HAVE_LIBMOUNT_MOUNT
#define USE_UNSTABLE_LIBMOUNT_API
#include <libmount.h>
-extern struct libmnt_lock *init_libmount_lock(const char *filename);
#endif
int mtab_is_writable(void);
create_mtab ();
}
- lc = init_libmount_lock( mnt_update_get_filename(mtab_update) );
- mnt_update_table(mtab_update, lc);
- init_libmount_lock(NULL);
+ mnt_update_table(mtab_update, NULL);
}
mnt_free_update(mtab_update);
#ifdef HAVE_LIBMOUNT_MOUNT
struct libmnt_update *upd = mnt_new_update();
- if (upd && !mnt_update_set_fs(upd, 0, node, NULL)) {
- struct libmnt_lock *lc = init_libmount_lock(
- mnt_update_get_filename(upd));
- mnt_update_table(upd, lc);
- init_libmount_lock(NULL);
- }
+ if (upd && !mnt_update_set_fs(upd, 0, node, NULL))
+ mnt_update_table(upd, NULL);
+
mnt_free_update(upd);
#else
update_mtab (node, NULL);