29 lines
636 B
C
29 lines
636 B
C
/*
|
|
* Copyright 2000-2004 by Hans Reiser, licensing governed by
|
|
* reiserfsprogs/README
|
|
*/
|
|
|
|
#include "resize.h"
|
|
|
|
/* the front-end for kernel on-line resizer */
|
|
int resize_fs_online(char * devname, long long int blocks) {
|
|
struct mntent *mnt;
|
|
char buf[40];
|
|
|
|
/* Find the mount entry. */
|
|
if ((mnt = misc_mntent(devname)) == NULL)
|
|
die ("resize_reiserfs: can't find mount entry\n");
|
|
|
|
sprintf(buf,"resize=%lld", blocks);
|
|
|
|
if (mount(mnt->mnt_fsname, mnt->mnt_dir, mnt->mnt_type,
|
|
(unsigned long)(MS_MGC_VAL << 16 | MS_REMOUNT), buf))
|
|
{
|
|
die ("resize_reiserfs: remount failed: %s\n",
|
|
strerror(errno));
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|