refuse checkpoint of file with f_owner
RFC PATCH 1/1 refuse checkpoint of file with f_owner
... because we don't yet support its restore.
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>
--- checkpoint/files.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
checkpoint/files.c +12 -0
@@ -261,6 +261,7 @@ static int checkpoint_file_desc(struct ckpt_ctx *ctx,struct fdtable *fdt;int objref, ret;int coe =0 ;/* avoid gcc warning */ +pid_t pid; h =ckpt_hdr_get_type (ctx,sizeof (*h),CKPT_HDR_FILE_DESC );if (!h)
@@ -283,6 +284,17 @@ static int checkpoint_file_desc(struct ckpt_ctx *ctx, }/* +* TODO: Implement c/r of fowner and f_sigio. Should be +* trivial, but for now we just refuse its checkpoint +*/ + pid =f_getown (file); +if (pid) { + ret = -EBUSY ; +ckpt_err (ctx, ret,"%(T)fd %d has an owner (%d)\n" , fd); + goto out; + } + +/* * if seen first time, this will add 'file' to the objhash, keep * a reference to it, dump its state while at it. */
Signature · 1 line
1.6.0.4
A message that is not in the archive (sent off-list or not yet received): 20091216212258.GA31602-r/[email protected]
Quoted 1 line · Serge E. Hallyn
... because we don't yet support its restore.
BTW, I am queueing patches on top of v19-rc2 at branch
cr-next of git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/linux-cr.git
which you can see at
thanks,
-serge
Also for v19-rc3.
Quoted 37 lines · Serge E. Hallyn
... because we don't yet support its restore.
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>--- checkpoint/files.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)checkpoint/files.c +12
-0@@ -261,6 +261,7 @@ static int checkpoint_file_desc(struct ckpt_ctx *ctx,struct fdtable *fdt;int objref, ret;int coe =0 ;/* avoid gcc warning */ +pid_t pid; h =ckpt_hdr_get_type (ctx,sizeof (*h),CKPT_HDR_FILE_DESC );if (!h)@@ -283,6 +284,17 @@ static int checkpoint_file_desc(struct ckpt_ctx *ctx, }/* +* TODO: Implement c/r of fowner and f_sigio. Should be +* trivial, but for now we just refuse its checkpoint +*/ + pid =f_getown (file); +if (pid) { + ret = -EBUSY ; +ckpt_err (ctx, ret,"%(T)fd %d has an owner (%d)\n" , fd); + goto out; + } + +/* * if seen first time, this will add 'file' to the objhash, keep * a reference to it, dump its state while at it. */